Package db

Interface RecordNode


public interface RecordNode
Table record leaf nodes within the BTree structure.
  • Method Details

    • getRecordOffset

      int getRecordOffset(int index) throws IOException
      Get the record offset within the node's data buffer
      Parameters:
      index - key/record index
      Returns:
      positive record offset within buffer, or a negative bufferID for indirect record storage in a dedicated buffer
      Throws:
      IOException - if IO error occurs
    • getKeyOffset

      int getKeyOffset(int index) throws IOException
      Get the key offset within the node's data buffer
      Parameters:
      index - key/record index
      Returns:
      positive record offset within buffer
      Throws:
      IOException - if IO error occurs
    • getParent

      InteriorNode getParent()
      Returns:
      the parent node or null if this is the root
    • getBufferId

      int getBufferId()
      Returns:
      the data buffer ID associated with this node.
    • getBuffer

      DataBuffer getBuffer()
      Returns:
      the data buffer associated with this node.
    • getKeyCount

      int getKeyCount()
      Returns:
      the number of keys contained within this node.
    • setKeyCount

      void setKeyCount(int cnt)
      Set the number of keys contained within this node.
      Parameters:
      cnt - key count
    • getKeyField

      Field getKeyField(int index) throws IOException
      Get the key value at a specific index.
      Parameters:
      index - key index
      Returns:
      key value
      Throws:
      IOException - thrown if an IO error occurs
    • getKeyIndex

      int getKeyIndex(Field key) throws IOException
      Perform a binary search to locate the specified key and derive an index into the Buffer ID storage. This method is intended to find the insertion index or exact match for a child key. A negative value will be returned when an exact match is not found and may be transformed into an insertion index (insetIndex = -returnedIndex-1).
      Parameters:
      key - key to search for
      Returns:
      int buffer ID index.
      Throws:
      IOException - thrown if an IO error occurs
    • delete

      void delete() throws IOException
      Delete this node and all child nodes.
      Throws:
      IOException - thrown if IO error occurs
    • getBufferReferences

      int[] getBufferReferences()
      Return all buffer IDs for those buffers which are children of this buffer.
      Returns:
      array of buffer IDs
    • isConsistent

      boolean isConsistent(String tableName, TaskMonitor monitor) throws IOException, CancelledException
      Check the consistency of this node and all of its children.
      Parameters:
      tableName - name of table containing this node
      monitor - task monitor
      Returns:
      true if consistency check passed, else false
      Throws:
      IOException - if IO error occured
      CancelledException - if task cancelled