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

## Class IndexStorageImpl.MetaStoreInnerIO

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

Enclosing class:
  IndexStorageImpl

    public static final class IndexStorageImpl.MetaStoreInnerIO
    extends BPlusInnerIO<org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.IndexItem>

### Field Summary

Fields
`static IOVersions<IndexStorageImpl.MetaStoreInnerIO>` `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, 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_REF_INNER, T_DATA_REF_LEAF, T_DATA_REF_METASTORAGE_INNER, T_DATA_REF_METASTORAGE_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_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 Instance Methods Concrete Methods
`org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.IndexItem` `getLookupRow(BPlusTree<org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.IndexItem,?> tree, long pageAddr, int idx)` Get lookup row.
`int` `getOffset(long pageAddr, int idx)`
`void` `store(long dstPageAddr, int dstIdx, BPlusIO<org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.IndexItem> srcIo, long srcPageAddr, int srcIdx)` Store row info from the given source.
`void` `storeByOffset(long pageAddr, int off, org.apache.ignite.internal.processors.cache.persistence.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.BPlusInnerIO

`copyItems, getLeft, getMaxCount, getRight, initNewRoot, insert, offset, setLeft`

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

`canGetRow, getCount, getForward, getItemSize, getRemoveId, initNewPage, isLeaf, merge, printPage, remove, setCount, setForward, setRemoveId, splitExistingPage, splitForwardPage, store, visit`

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

`getBPlusIO, getBPlusIO, getCrc, getCrc, getInnerVersions, getLeafVersions, getPageId, getPageId, getPageIO, getPageIO, getType, getType, getType, getVersion, getVersion, getVersion, isDataPageType, printPage, registerH2, registerH2ExtraInner, registerH2ExtraLeaf, registerTest, setCrc, setCrc, setPageId, setType, 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.MetaStoreInnerIO> VERSIONS

### Method Detail

#### storeByOffset

    public void storeByOffset(long pageAddr,
                              int off,
                              org.apache.ignite.internal.processors.cache.persistence.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<org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.IndexItem>`
Parameters:
  `pageAddr` - Page address.
  `off` - Offset in bytes.
  `row` - Lookup or full row.
Throws:
  `IgniteCheckedException` - If failed.

#### store

    public void store(long dstPageAddr,
                      int dstIdx,
                      BPlusIO<org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.IndexItem> srcIo,
                      long srcPageAddr,
                      int srcIdx)
               throws IgniteCheckedException

Store row info from the given source.

Specified by:
  `store` in class `BPlusIO<org.apache.ignite.internal.processors.cache.persistence.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 org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.IndexItem getLookupRow(BPlusTree<org.apache.ignite.internal.processors.cache.persistence.IndexStorageImpl.IndexItem,?> tree,
                                                                                                           long pageAddr,
                                                                                                           int idx)
                                                                                                    throws IgniteCheckedException

Get lookup row.

Specified by:
  `getLookupRow` in class `BPlusIO<org.apache.ignite.internal.processors.cache.persistence.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`.

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.4.0
Release Date | : March 5 2018