Class AbstractInlineInnerIO
- 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.BPlusInnerIO<IndexRow>
-
- org.apache.ignite.internal.cache.query.index.sorted.inline.io.AbstractInlineInnerIO
-
- All Implemented Interfaces:
InlineIO,CompactablePageIO
- Direct Known Subclasses:
InlineInnerIO
public abstract class AbstractInlineInnerIO extends BPlusInnerIO<IndexRow> implements InlineIO
Inner page to store index rows with inlined keys.
-
-
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IndexRowgetLookupRow(BPlusTree<IndexRow,?> tree, long pageAddr, int idx)Get lookup row.intinlineSize()longlink(long pageAddr, int idx)static voidregister()Register IOs for every availableinlineSize.voidstore(long dstPageAddr, int dstIdx, BPlusIO<IndexRow> srcIo, long srcPageAddr, int srcIdx)Store row info from the given source.voidstoreByOffset(long pageAddr, int off, IndexRow row)Store the needed info about the row in the page.static IOVersions<? extends BPlusInnerIO<IndexRow>>versions(int payload)-
Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusInnerIO
copyItems, getLeft, getMaxCount, getRight, initNewRoot, insert, offset, setLeft
-
Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO
canGetRow, compactPage, getCount, getForward, getFreeSpace, getItemsEnd, getItemSize, getRemoveId, initNewPage, isLeaf, merge, printPage, remove, restorePage, setCount, setForward, setRemoveId, splitExistingPage, splitForwardPage, store, 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
-
register
public static void register()
Register IOs for every availableinlineSize.
-
storeByOffset
public final void storeByOffset(long pageAddr, int off, IndexRow row)Store the needed info about the row in the page. Leaf and inner pages can store different info.- Specified by:
storeByOffsetin classBPlusIO<IndexRow>- Parameters:
pageAddr- Page address.off- Offset in bytes.row- Lookup or full row.
-
getLookupRow
public final IndexRow getLookupRow(BPlusTree<IndexRow,?> tree, long pageAddr, int idx) throws IgniteCheckedException
Get lookup row.- Specified by:
getLookupRowin classBPlusIO<IndexRow>- Parameters:
tree- Tree.pageAddr- Page address.idx- Index.- Returns:
- Lookup row.
- Throws:
IgniteCheckedException- If failed.
-
store
public final void store(long dstPageAddr, int dstIdx, BPlusIO<IndexRow> srcIo, long srcPageAddr, int srcIdx)Store row info from the given source.
-
link
public long link(long pageAddr, int idx)
-
inlineSize
public int inlineSize()
- Specified by:
inlineSizein interfaceInlineIO- Returns:
- Number of bytes stored in the inline payload.
-
versions
public static IOVersions<? extends BPlusInnerIO<IndexRow>> versions(int payload)
- Parameters:
payload- Payload size.- Returns:
- IOVersions for given payload.
-
-