Package db
Interface FieldKeyInteriorNode
- All Superinterfaces:
- InteriorNode
FieldKeyInteriorNode defines a common interface for FieldKeyNode 
 implementations which are also an InteriorNode.- 
Method SummaryModifier and TypeMethodDescriptionintcompareKeyField(Field k, int keyIndex) Performs a fast in-place key comparison of the specified key value with a key stored within this node at the specified keyIndex.voiddelete()Delete this node and all child nodes.intint[]Return all buffer IDs for those buffers which are children of this buffer.intgetKeyField(int index) Get the key value at a specific index.intgetKeyIndex(Field key) Perform a binary search to locate the specified key and derive an index into the Buffer ID storage.db.FieldKeyRecordNodegetLeafNode(Field key) Get the leaf node which contains the specified key.db.FieldKeyRecordNodeGet the left-most leaf node within the tree.db.FieldKeyRecordNodeGet the right-most leaf node within the tree.booleanisConsistent(String tableName, TaskMonitor monitor) Check the consistency of this node and all of its children.voidkeyChanged(Field oldKey, Field newKey, db.FieldKeyNode childNode) Callback method for when a child node's leftmost key changes.voidsetKeyCount(int cnt) Set the number of keys contained within this node.
- 
Method Details- 
keyChangedCallback method for when a child node's leftmost key changes.- Parameters:
- oldKey- previous leftmost key.
- newKey- new leftmost key.
- childNode- child node containing oldKey (null if not a VarKeyNode)
- Throws:
- IOException- if IO error occurs
 
- 
getBufferIdint getBufferId()- Returns:
- the data buffer ID associated with this node.
 
- 
getBufferDataBuffer getBuffer()- Returns:
- the data buffer associated with this node.
 
- 
getKeyCountint getKeyCount()- Returns:
- the number of keys contained within this node.
 
- 
setKeyCountvoid setKeyCount(int cnt) Set the number of keys contained within this node.- Parameters:
- cnt- key count
 
- 
getKeyFieldGet the key value at a specific index.- Parameters:
- index- key index
- Returns:
- key value
- Throws:
- IOException- thrown if an IO error occurs
 
- 
getKeyIndexPerform 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
 
- 
deleteDelete this node and all child nodes.- Throws:
- IOException- thrown if IO error occurs
 
- 
getBufferReferencesint[] getBufferReferences()Return all buffer IDs for those buffers which are children of this buffer.- Returns:
- array of buffer IDs
 
- 
isConsistentCheck 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 occurred
- CancelledException- if task cancelled
 
- 
getParentFieldKeyInteriorNode getParent()- Returns:
- the parent node or null if this is the root
 
- 
getLeafNodeGet the leaf node which contains the specified key.- Parameters:
- key- key value
- Returns:
- leaf node
- Throws:
- IOException- thrown if an IO error occurs
 
- 
getLeftmostLeafNodeGet the left-most leaf node within the tree.- Returns:
- left-most leaf node.
- Throws:
- IOException- thrown if IO error occurs
 
- 
getRightmostLeafNodeGet the right-most leaf node within the tree.- Returns:
- right-most leaf node.
- Throws:
- IOException- thrown if IO error occurs
 
- 
compareKeyFieldPerforms a fast in-place key comparison of the specified key value with a key stored within this node at the specified keyIndex.- Parameters:
- k- key value to be compared
- keyIndex- key index to another key within this node's buffer
- Returns:
- comparison value, zero if equal, -1 if k has a value less than the store key, or +1 if k has a value greater than the stored key located at keyIndex.
 
 
-