Class BTreeRowPosition

java.lang.Object
org.apache.derby.impl.store.access.conglomerate.RowPosition
org.apache.derby.impl.store.access.btree.BTreeRowPosition

public class BTreeRowPosition extends RowPosition
  • Field Details

    • current_positionKey

      public DataValueDescriptor[] current_positionKey
      Fields of the class
    • current_leaf

      public LeafControlRow current_leaf
    • next_leaf

      protected LeafControlRow next_leaf
    • current_lock_template

      public DataValueDescriptor[] current_lock_template
    • current_lock_row_loc

      public RowLocation current_lock_row_loc
    • parent

      private final BTreeScan parent
      The scan that owns this position object.
    • versionWhenSaved

      long versionWhenSaved
      The version number of the leaf page when this position was saved by key. Only valid if current_positionKey is non-null. This value is used to decide whether repositioning should be performed by using the key, or if RowPosition.current_rh could be used directly.
    • positionKey_template

      private DataValueDescriptor[] positionKey_template
      Cached template for saving this position by key.
    • savedFetchDescriptor

      private FetchDescriptor savedFetchDescriptor
      Cached fetch descriptor that can be used to fetch the key columns that are not already fetched by the scan. The fetch descriptor is used when this position is about to be saved by its full key.
  • Constructor Details

    • BTreeRowPosition

      public BTreeRowPosition(BTreeScan parent)
      Constructors for This class:
  • Method Details

    • init

      public void init()
      Public Methods of This class:
      Overrides:
      init in class RowPosition
    • unlatch

      public final void unlatch()
      Overrides:
      unlatch in class RowPosition
    • saveMeAndReleasePage

      public void saveMeAndReleasePage() throws StandardException
      Save this position by key and release the latch on the current leaf.
      Throws:
      StandardException - if an error occurs while saving the position
      See Also:
    • getKeyTemplate

      DataValueDescriptor[] getKeyTemplate() throws StandardException
      Get a template into which the position key can be copied. The value is cached, so two calls to this method on the same object will return the same object.
      Returns:
      an array into which the position key can be copied
      Throws:
      StandardException - if an error occurs while allocating the template array
    • getFetchDescriptorForSaveKey

      FetchDescriptor getFetchDescriptorForSaveKey(int[] vcols, int fullLength)
      Get a fetch descriptor that can be used to fetch the missing columns in a partial key. The fetch descriptor is only created on the first call to this method. The returned descriptor will be cached, so subsequent calls will return the same descriptor and the arguments to this method should be the same between invokations.
      Parameters:
      vcols - an array which tells which columns the partial key contains (valid columns have non-zero values in the array)
      fullLength - the length of the full key to create a fetch descriptor for (may be greater than vcols.length)
      Returns:
      a fetch descriptor
    • toString

      public final String toString()
      Overrides:
      toString in class RowPosition