Class BPlusLeafIO<L>
- java.lang.Object
-
- org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO
-
- org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO<L>
-
- org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusLeafIO<L>
-
- All Implemented Interfaces:
CompactablePageIO
- Direct Known Subclasses:
AbstractDataLeafIO,AbstractInlineLeafIO,AbstractLeafIO,AbstractPendingEntryLeafIO,IndexStorageImpl.MetaStoreLeafIO,MetastorageLeafIO
public abstract class BPlusLeafIO<L> extends BPlusIO<L>
Abstract IO routines for B+Tree leaf pages.
-
-
Field Summary
-
Fields inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO
ITEMS_OFF, itemSize
-
Fields inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO
COMMON_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_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_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_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, TYPE_OFF, VER_OFF
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBPlusLeafIO(int type, int ver, int itemSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcopyItems(long srcPageAddr, long dstPageAddr, int srcIdx, int dstIdx, int cnt, boolean cpLeft)Copy items from source page to destination page.intgetMaxCount(long pageAddr, int pageSize)intoffset(int idx)-
Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO
canGetRow, compactPage, getCount, getForward, getFreeSpace, getItemsEnd, getItemSize, getLookupRow, getRemoveId, initNewPage, insert, isLeaf, merge, printPage, remove, restorePage, setCount, setForward, setRemoveId, splitExistingPage, splitForwardPage, store, store, storeByOffset, visit
-
Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO
assertPageType, assertPageType, copyPage, 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, toString
-
-
-
-
Method Detail
-
getMaxCount
public int getMaxCount(long pageAddr, int pageSize)- Specified by:
getMaxCountin classBPlusIO<L>- Parameters:
pageAddr- Page address.pageSize- Page size without encryption overhead.- Returns:
- Max items count.
-
copyItems
public final void copyItems(long srcPageAddr, long dstPageAddr, int srcIdx, int dstIdx, int cnt, boolean cpLeft) throws IgniteCheckedExceptionCopy items from source page to destination page. Both pages must be of the same type and the same version.- Specified by:
copyItemsin classBPlusIO<L>- Parameters:
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).- Throws:
IgniteCheckedException- If failed.
-
-