Package db
Interface FieldKeyInteriorNode
-
- All Superinterfaces:
InteriorNode
public interface FieldKeyInteriorNode extends InteriorNode
FieldKeyInteriorNode
defines a common interface forFieldKeyNode
implementations which are also anInteriorNode
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
compareKeyField(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.void
delete()
Delete this node and all child nodes.DataBuffer
getBuffer()
int
getBufferId()
int[]
getBufferReferences()
Return all buffer IDs for those buffers which are children of this buffer.int
getKeyCount()
Field
getKeyField(int index)
Get the key value at a specific index.int
getKeyIndex(Field key)
Perform a binary search to locate the specified key and derive an index into the Buffer ID storage.db.FieldKeyRecordNode
getLeafNode(Field key)
Get the leaf node which contains the specified key.db.FieldKeyRecordNode
getLeftmostLeafNode()
Get the left-most leaf node within the tree.FieldKeyInteriorNode
getParent()
db.FieldKeyRecordNode
getRightmostLeafNode()
Get the right-most leaf node within the tree.boolean
isConsistent(java.lang.String tableName, TaskMonitor monitor)
Check the consistency of this node and all of its children.void
keyChanged(Field oldKey, Field newKey, db.FieldKeyNode childNode)
Callback method for when a child node's leftmost key changes.void
setKeyCount(int cnt)
Set the number of keys contained within this node.
-
-
-
Method Detail
-
keyChanged
void keyChanged(Field oldKey, Field newKey, db.FieldKeyNode childNode) throws java.io.IOException
Callback 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:
java.io.IOException
- if IO error occurs
-
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 nodemonitor
- task monitor- Returns:
- true if consistency check passed, else false
- Throws:
java.io.IOException
- if IO error occuredCancelledException
- if task cancelled
-
getParent
FieldKeyInteriorNode getParent()
- Returns:
- the parent node or null if this is the root
-
getLeafNode
db.FieldKeyRecordNode getLeafNode(Field key) throws java.io.IOException
Get the leaf node which contains the specified key.- Parameters:
key
- key value- Returns:
- leaf node
- Throws:
java.io.IOException
- thrown if an IO error occurs
-
getLeftmostLeafNode
db.FieldKeyRecordNode getLeftmostLeafNode() throws java.io.IOException
Get the left-most leaf node within the tree.- Returns:
- left-most leaf node.
- Throws:
java.io.IOException
- thrown if IO error occurs
-
getRightmostLeafNode
db.FieldKeyRecordNode getRightmostLeafNode() throws java.io.IOException
Get the right-most leaf node within the tree.- Returns:
- right-most leaf node.
- Throws:
java.io.IOException
- thrown if IO error occurs
-
compareKeyField
int compareKeyField(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.- Parameters:
k
- key value to be comparedkeyIndex
- 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.
-
-