org.apache.ignite.internal.cache.query.index.sorted.inline.io

## Class AbstractInlineLeafIO

- 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<IndexRow>
      - - org.apache.ignite.internal.cache.query.index.sorted.inline.io.AbstractInlineLeafIO

All Implemented Interfaces:
  InlineIO, MvccIO, CompactablePageIO

Direct Known Subclasses:
  InlineLeafIO, MvccInlineLeafIO

    public abstract class AbstractInlineLeafIO
    extends BPlusLeafIO<IndexRow>
    implements InlineIO

Leaf 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_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`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`IndexRow` `getLookupRow(BPlusTree<IndexRow,?> tree, long pageAddr, int idx)` Get lookup row.
`int` `inlineSize()`
`long` `link(long pageAddr, int idx)`
`static void` `register()` Register IOs for every available `inlineSize` for MVCC and not.
`void` `store(long dstPageAddr, int dstIdx, BPlusIO<IndexRow> srcIo, long srcPageAddr, int srcIdx)` Store row info from the given source.
`void` `storeByOffset(long pageAddr, int off, IndexRow row)` Store the needed info about the row in the page.
`static IOVersions<? extends BPlusLeafIO<IndexRow>>` `versions(int payload, boolean mvccEnabled)`

### Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusLeafIO

`copyItems, getMaxCount, offset`

### Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO

`canGetRow, compactPage, getCount, getForward, getItemsEnd, getItemSize, getRemoveId, initNewPage, insert, 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

`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`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.apache.ignite.internal.cache.query.index.sorted.inline.io.MvccIO

`mvccCoordinatorVersion, mvccCounter, mvccOperationCounter, storeMvccInfo`

### Method Detail

#### register

    public static void register()

Register IOs for every available `inlineSize` for MVCC and not.

#### 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:
  `storeByOffset` in class `BPlusIO<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:
  `getLookupRow` in class `BPlusIO<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.

Specified by:
  `store` in class `BPlusIO<IndexRow>`
Parameters:
  `dstPageAddr` - Destination page address.
  `dstIdx` - Destination index.
  `srcIo` - Source IO.
  `srcPageAddr` - Source page address.
  `srcIdx` - Source index.

#### link

    public long link(long pageAddr,
                     int idx)

Specified by:
  `link` in interface `InlineIO`
Parameters:
  `pageAddr` - Page address.
  `idx` - Index.
Returns:
  Row link.

#### inlineSize

    public int inlineSize()

Specified by:
  `inlineSize` in interface `InlineIO`
Returns:
  Number of bytes stored in the inline payload.

#### versions

    public static IOVersions<? extends BPlusLeafIO<IndexRow>> versions(int payload,
                                                                       boolean mvccEnabled)

Parameters:
  `payload` - Payload size.
  `mvccEnabled` - Whether MVCC is enabled.
Returns:
  IOVersions for given payload.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.11.0
Release Date | : September 11 2021