java.lang.Object
org.apache.ignite.internal.persistence.tree.io.PageIO
org.apache.ignite.internal.persistence.tree.io.BPlusMetaIO

public class BPlusMetaIO extends PageIO
IO routines for B+Tree meta pages.
  • Field Details

  • 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:
      true In case use unwrapped PK.
    • inlineObjectSupported

      public boolean inlineObjectSupported(long pageAddr)
      Parameters:
      pageAddr - Page address.
      Returns:
      true In 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:
      true If 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:
      printPage in class PageIO
      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.