Class CursorPos<K,V>

java.lang.Object
org.h2.mvstore.CursorPos<K,V>

public final class CursorPos<K,V> extends Object
A position in a cursor. Instance represents a node in the linked list, which traces path from a specific (target) key within a leaf node all the way up to te root (bottom up path).
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    int
    Index of the key (within page above) used to go down to a lower level in case of intermediate nodes, or index of the target key for leaf a node.
    The page at the current level.
    Next node in the linked list, representing the position within parent level, or null, if we are at the root level already.
  • Constructor Summary

    Constructors
    Constructor
    Description
    CursorPos(Page<K,V> page, int index, CursorPos<K,V> parent)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) int
    processRemovalInfo(long version)
    Calculate the memory used by changes that are not yet stored.
     
    (package private) static <K, V> CursorPos<K,V>
    traverseDown(Page<K,V> page, K key)
    Searches for a given key and creates a breadcrumb trail through a B-tree rooted at a given Page.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • page

      public Page<K,V> page
      The page at the current level.
    • index

      public int index
      Index of the key (within page above) used to go down to a lower level in case of intermediate nodes, or index of the target key for leaf a node. In a later case, it could be negative, if the key is not present.
    • parent

      public CursorPos<K,V> parent
      Next node in the linked list, representing the position within parent level, or null, if we are at the root level already.
  • Constructor Details

  • Method Details

    • traverseDown

      static <K, V> CursorPos<K,V> traverseDown(Page<K,V> page, K key)
      Searches for a given key and creates a breadcrumb trail through a B-tree rooted at a given Page. Resulting path starts at "insertion point" for a given key and goes back to the root.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      page - root of the tree
      key - the key to search for
      Returns:
      head of the CursorPos chain (insertion point)
    • processRemovalInfo

      int processRemovalInfo(long version)
      Calculate the memory used by changes that are not yet stored.
      Parameters:
      version - the version
      Returns:
      the amount of memory
    • toString

      public String toString()
      Overrides:
      toString in class Object