Package db

Interface RecordNode


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

      • getRecordOffset

        int getRecordOffset​(int index)
                     throws java.io.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:
        java.io.IOException - if IO error occurs
      • getKeyOffset

        int getKeyOffset​(int index)
                  throws java.io.IOException
        Get the key offset within the node's data buffer
        Parameters:
        index - key/record index
        Returns:
        positive record offset within buffer
        Throws:
        java.io.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 java.io.IOException
        Get the key value at a specific index.
        Parameters:
        index - key index
        Returns:
        key value
        Throws:
        java.io.IOException - thrown if an IO error occurs
      • getKeyIndex

        int getKeyIndex​(Field key)
                 throws java.io.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:
        java.io.IOException - thrown if an IO error occurs
      • delete

        void delete()
             throws java.io.IOException
        Delete this node and all child nodes.
        Throws:
        java.io.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​(java.lang.String tableName,
                             TaskMonitor monitor)
                      throws java.io.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:
        java.io.IOException - if IO error occured
        CancelledException - if task cancelled