public abstract class BPlusInnerIO<L> extends BPlusIO<L>
ITEMS_OFF, itemSizeCOMMON_HEADER_END, CRC_OFF, MAX_PAYLOAD_SIZE, PAGE_ID_OFF, ROTATED_ID_PART_OFF, T_BPLUS_META, T_CACHE_ID_AWARE_DATA_REF_INNER, T_CACHE_ID_AWARE_DATA_REF_LEAF, T_CACHE_ID_AWARE_PENDING_REF_INNER, T_CACHE_ID_AWARE_PENDING_REF_LEAF, T_CACHE_ID_DATA_REF_MVCC_INNER, T_CACHE_ID_DATA_REF_MVCC_LEAF, T_DATA, T_DATA_METASTORAGE, T_DATA_PART, T_DATA_REF_INNER, T_DATA_REF_LEAF, T_DATA_REF_METASTORAGE_INNER, T_DATA_REF_METASTORAGE_LEAF, T_DATA_REF_MVCC_INNER, T_DATA_REF_MVCC_LEAF, T_DEFRAG_LINK_MAPPING_INNER, T_DEFRAG_LINK_MAPPING_LEAF, T_H2_EX_REF_INNER_END, T_H2_EX_REF_INNER_START, T_H2_EX_REF_LEAF_END, T_H2_EX_REF_LEAF_START, T_H2_EX_REF_MVCC_INNER_END, T_H2_EX_REF_MVCC_INNER_START, T_H2_EX_REF_MVCC_LEAF_END, T_H2_EX_REF_MVCC_LEAF_START, T_H2_MVCC_REF_INNER, T_H2_MVCC_REF_LEAF, T_H2_REF_INNER, T_H2_REF_LEAF, T_MARKER_PAGE, T_META, T_METASTORE_INNER, T_METASTORE_LEAF, T_PAGE_LIST_META, T_PAGE_LIST_NODE, T_PAGE_UPDATE_TRACKING, T_PART_CNTRS, T_PART_META, T_PENDING_REF_INNER, T_PENDING_REF_LEAF, T_TX_LOG_INNER, T_TX_LOG_LEAF, TYPE_OFF, VER_OFF| Modifier | Constructor and Description |
|---|---|
protected |
BPlusInnerIO(int type,
int ver,
boolean canGetRow,
int itemSize) |
| Modifier and Type | Method and Description |
|---|---|
void |
copyItems(long srcPageAddr,
long dstPageAddr,
int srcIdx,
int dstIdx,
int cnt,
boolean cpLeft)
Copy items from source page to destination page.
|
long |
getLeft(long pageAddr,
int idx) |
int |
getMaxCount(long pageAddr,
int pageSize) |
long |
getRight(long pageAddr,
int idx) |
byte[] |
initNewRoot(long newRootPageAddr,
long newRootId,
long leftChildId,
L row,
byte[] rowBytes,
long rightChildId,
int pageSize,
boolean needRowBytes,
PageMetrics metrics) |
byte[] |
insert(long pageAddr,
int idx,
L row,
byte[] rowBytes,
long rightId,
boolean needRowBytes) |
int |
offset(int idx) |
void |
setLeft(long pageAddr,
int idx,
long pageId) |
canGetRow, compactPage, getCount, getForward, getItemsEnd, getItemSize, getLookupRow, getRemoveId, initNewPage, isLeaf, merge, printPage, remove, restorePage, setCount, setForward, setRemoveId, splitExistingPage, splitForwardPage, store, store, storeByOffset, visitcopyPage, deriveIndexPageType, getBPlusIO, getBPlusIO, getCompactedSize, getCompactedSize, getCompressedSize, getCompressedSize, getCompressionType, getCompressionType, getCrc, getCrc, getInnerVersions, getLeafVersions, getPageId, getPageId, getPageIO, getPageIO, getPageIO, getRotatedIdPart, getType, getType, getType, getVersion, getVersion, getVersion, isDataPageType, isIndexPage, printPage, registerH2, registerH2ExtraInner, registerH2ExtraLeaf, registerTest, registerTest, setCompactedSize, setCompressedSize, setCompressionType, setCrc, setCrc, setPageId, setRotatedIdPart, setType, setVersion, toStringprotected BPlusInnerIO(int type,
int ver,
boolean canGetRow,
int itemSize)
type - Page type.ver - Page format version.canGetRow - If we can get full row from this page.itemSize - Single item size on page.public int getMaxCount(long pageAddr,
int pageSize)
getMaxCount in class BPlusIO<L>pageAddr - Page address.pageSize - Page size without encryption overhead.public final long getLeft(long pageAddr,
int idx)
pageAddr - Page address.idx - Index.public final void setLeft(long pageAddr,
int idx,
long pageId)
pageAddr - Page address.idx - Index.pageId - Page ID.public final long getRight(long pageAddr,
int idx)
pageAddr - Page address.idx - Index.public final void copyItems(long srcPageAddr,
long dstPageAddr,
int srcIdx,
int dstIdx,
int cnt,
boolean cpLeft)
throws IgniteCheckedException
copyItems in class BPlusIO<L>srcPageAddr - Source page address.dstPageAddr - Destination page address.srcIdx - Source begin index.dstIdx - Destination begin index.cnt - Items count.cpLeft - Copy leftmost link (makes sense only for inner pages).IgniteCheckedException - If failed.public final int offset(int idx)
public byte[] insert(long pageAddr,
int idx,
L row,
byte[] rowBytes,
long rightId,
boolean needRowBytes)
throws IgniteCheckedException
insert in class BPlusIO<L>pageAddr - Page address.idx - Index.row - Row to insert.rowBytes - Row bytes.rightId - Page ID which will be to the right child for the inserted item.needRowBytes - If we need stored row bytes.IgniteCheckedException - If failed.public byte[] initNewRoot(long newRootPageAddr,
long newRootId,
long leftChildId,
L row,
byte[] rowBytes,
long rightChildId,
int pageSize,
boolean needRowBytes,
PageMetrics metrics)
throws IgniteCheckedException
newRootPageAddr - New root page address.newRootId - New root ID.leftChildId - Left child ID.row - Moved up row.rowBytes - Bytes.rightChildId - Right child ID.pageSize - Page size.needRowBytes - If we need row bytes back.IgniteCheckedException - If failed.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.11.1 Release Date : December 20 2021