org.apache.ignite.internal.processors.cache.persistence

## Class IndexStorageImpl.MetaStoreLeafIO

- 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<IndexStorageImpl.IndexItem>
      - - org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.MetaStoreLeafIO

All Implemented Interfaces:
  CompactablePageIO

Enclosing class:
  IndexStorageImpl

    public static final class IndexStorageImpl.MetaStoreLeafIO
    extends BPlusLeafIO<IndexStorageImpl.IndexItem>

### Field Summary

Fields
`static IOVersions<IndexStorageImpl.MetaStoreLeafIO>` `VERSIONS`

### 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 Instance Methods Concrete Methods
`IndexStorageImpl.IndexItem` `getLookupRow(BPlusTree<IndexStorageImpl.IndexItem,?> tree, long pageAddr, int idx)` Get lookup row.
`int` `getOffset(long pageAddr, int idx)`
`void` `store(long dstPageAddr, int dstIdx, BPlusIO<IndexStorageImpl.IndexItem> srcIo, long srcPageAddr, int srcIdx)` Store row info from the given source.
`void` `storeByOffset(long buf, int off, IndexStorageImpl.IndexItem row)` Store the needed info about the row in the page.

### 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, getFreeSpace, 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

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

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

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

### Field Detail

#### VERSIONS

    public static final IOVersions<IndexStorageImpl.MetaStoreLeafIO> VERSIONS

### Method Detail

#### storeByOffset

    public void storeByOffset(long buf,
                              int off,
                              IndexStorageImpl.IndexItem row)
                       throws IgniteCheckedException

Store the needed info about the row in the page. Leaf and inner pages can store different info.

Specified by:
  `storeByOffset` in class `BPlusIO<IndexStorageImpl.IndexItem>`
Parameters:
  `buf` - Page address.
  `off` - Offset in bytes.
  `row` - Lookup or full row.
Throws:
  `IgniteCheckedException` - If failed.

#### store

    public void store(long dstPageAddr,
                      int dstIdx,
                      BPlusIO<IndexStorageImpl.IndexItem> srcIo,
                      long srcPageAddr,
                      int srcIdx)
               throws IgniteCheckedException

Store row info from the given source.

Specified by:
  `store` in class `BPlusIO<IndexStorageImpl.IndexItem>`
Parameters:
  `dstPageAddr` - Destination page address.
  `dstIdx` - Destination index.
  `srcIo` - Source IO.
  `srcPageAddr` - Source page address.
  `srcIdx` - Source index.
Throws:
  `IgniteCheckedException` - If failed.

#### getLookupRow

    public IndexStorageImpl.IndexItem getLookupRow(BPlusTree<IndexStorageImpl.IndexItem,?> tree,
                                                   long pageAddr,
                                                   int idx)
                                            throws IgniteCheckedException

Get lookup row.

Specified by:
  `getLookupRow` in class `BPlusIO<IndexStorageImpl.IndexItem>`
Parameters:
  `tree` - Tree.
  `pageAddr` - Page address.
  `idx` - Index.
Returns:
  Lookup row.
Throws:
  `IgniteCheckedException` - If failed.

#### getOffset

    public int getOffset(long pageAddr,
                         int idx)

Parameters:
  `pageAddr` - Page address.
  `idx` - Index.
Returns:
  Offset in buffer according to `idx`.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.15.0
Release Date | : April 25 2023