Class BPlusMetaIO
java.lang.Object
org.apache.ignite.internal.persistence.tree.io.PageIO
org.apache.ignite.internal.persistence.tree.io.BPlusMetaIO
IO routines for B+Tree meta pages.
-
Field Summary
FieldsFields inherited from class org.apache.ignite.internal.persistence.tree.io.PageIO
COMMON_HEADER_END, CRC_OFF, MAX_PAYLOAD_SIZE, PAGE_ID_OFF, ROTATED_ID_PART_OFF, T_BM_BINARY_DATA, T_BM_BINARY_LONG_INDEX_INNER, T_BM_BINARY_LONG_INDEX_LEAF, T_BM_CONTAINED_OBJECT_INDEX_INNER, T_BM_CONTAINED_OBJECT_INDEX_LEAF, T_BM_INT_INT_INDEX_INNER, T_BM_INT_INT_INDEX_LEAF, T_BM_LONG_DATA, T_BM_LONG_DATA_REF_INNER, T_BM_LONG_DATA_REF_LEAF, T_BM_OBJECT_DATA, T_BM_OBJECT_DATA_REF_INNER, T_BM_OBJECT_DATA_REF_LEAF, 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_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
Modifier and TypeMethodDescriptionvoidaddRoot(long pageAddr, long rootPageId, int pageSize) voidcutRoot(long pageAddr, int pageSize) longgetFirstPageId(long pageAddr, int lvl) intgetInlineSize(long pageAddr) intgetLevelsCount(long pageAddr) intgetRootLevel(long pageAddr) voidinitFlags(long pageAddr, long flags) voidinitRoot(long pageAdrr, long rootId, int pageSize) booleaninlineObjectHash(long pageAddr) Whether Java objects should be inlined as hash or as bytes array.booleaninlineObjectSupported(long pageAddr) protected voidprintPage(long addr, int pageSize, GridStringBuilder sb) voidsetFlags(long pageAddr, boolean unwrappedPk, boolean inlineObjSupported) voidsetInlineSize(long pageAddr, int size) booleanbooleanunwrappedPk(long pageAddr) static voidupgradePageVersion(long pageAddr, boolean inlineObjSupported, boolean unwrappedPk, int pageSize) Methods inherited from class org.apache.ignite.internal.persistence.tree.io.PageIO
copyPage, getBPlusIO, getBPlusIO, getCompactedSize, getCompactedSize, getCompressedSize, getCompressedSize, getCompressionType, getCompressionType, getCrc, getCrc, getInnerVersions, getLeafVersions, getPageId, getPageId, getPageIO, getPageIO, getPageIO, getRotatedIdPart, getType, getType, getType, getVersion, getVersion, getVersion, initNewPage, isDataPageType, printPage, registerH2, registerH2ExtraInner, registerH2ExtraLeaf, registerTest, registerTest, setCompactedSize, setCompressedSize, setCompressionType, setCrc, setCrc, setPageId, setRotatedIdPart, setType, setVersion, toString
-
Field Details
-
VERSIONS
-
DEFAULT_FLAGS
public static final long DEFAULT_FLAGS- See Also:
-
-
Method Details
-
initRoot
public void initRoot(long pageAdrr, long rootId, int pageSize) - Parameters:
pageAdrr- Page address.rootId- Root page ID.pageSize- Page size.
-
getLevelsCount
public int getLevelsCount(long pageAddr) - Parameters:
pageAddr- Page address.- Returns:
- Number of levels in this tree.
-
getFirstPageId
public long getFirstPageId(long pageAddr, int lvl) - Parameters:
pageAddr- Page address.lvl- Level.- Returns:
- First page ID at that level.
-
getRootLevel
public int getRootLevel(long pageAddr) - Parameters:
pageAddr- Page address.- Returns:
- Root level.
-
addRoot
public void addRoot(long pageAddr, long rootPageId, int pageSize) - Parameters:
pageAddr- Page address.rootPageId- New root page ID.pageSize- Page size.
-
cutRoot
public void cutRoot(long pageAddr, int pageSize) - Parameters:
pageAddr- Page address.pageSize- Page size.
-
setInlineSize
public void setInlineSize(long pageAddr, int size) - Parameters:
pageAddr- Page address.size- Offset size.
-
getInlineSize
public int getInlineSize(long pageAddr) - Parameters:
pageAddr- Page address.- Returns:
- Inline size.
-
unwrappedPk
public boolean unwrappedPk(long pageAddr) - Returns:
trueIn case use unwrapped PK.
-
inlineObjectSupported
public boolean inlineObjectSupported(long pageAddr) - Parameters:
pageAddr- Page address.- Returns:
trueIn case inline object is supported by the tree.
-
inlineObjectHash
public boolean inlineObjectHash(long pageAddr) Whether Java objects should be inlined as hash or as bytes array.- Parameters:
pageAddr- Page address.
-
supportFlags
public boolean supportFlags()- Returns:
trueIf flags are supported.
-
initFlags
public void initFlags(long pageAddr, long flags) - Parameters:
pageAddr- Page address.flags- Flags.createdVer- The version of the product that creates the page (b+tree).
-
setFlags
public void setFlags(long pageAddr, boolean unwrappedPk, boolean inlineObjSupported) - Parameters:
pageAddr- Page address.unwrappedPk- unwrapped primary key of this tree flag.inlineObjSupported- inline POJO by created tree flag.
-
printPage
protected void printPage(long addr, int pageSize, GridStringBuilder sb) throws IgniteCheckedException - Specified by:
printPagein classPageIO- Parameters:
addr- Address.pageSize- Page size.sb- Sb.- Throws:
IgniteCheckedException
-
upgradePageVersion
public static void upgradePageVersion(long pageAddr, boolean inlineObjSupported, boolean unwrappedPk, int pageSize) - Parameters:
pageAddr- Page address.inlineObjSupported- Supports inline object flag.unwrappedPk- Unwrap PK flag.pageSize- Page size.
-