public class IntBTree
extends java.lang.Object
Modifier | Constructor and Description |
---|---|
protected |
IntBTree(org.axiondb.util.BTreeMetaData meta)
Create a new, non-root node.
|
protected |
IntBTree(org.axiondb.util.BTreeMetaData meta,
int fileId)
Create a non-root node by reading it from disk.
|
|
IntBTree(java.io.File idxDir,
java.lang.String idxName,
int minimizationFactor)
Create or load a new root node.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addFileId(int fileId)
Add a reference to the given file id.
|
protected void |
addFileId(int index,
int fileid)
Store a reference to the given file id at the specifed index.
|
protected void |
addFileIds(org.apache.commons.collections.primitives.IntList fileIds)
Add the given specified file ids.
|
protected void |
addKeyValuePair(int key,
int value,
boolean setDirty) |
void |
clearData()
Clear my keys, values, and file ids.
|
protected IntBTree |
createNode(org.axiondb.util.BTreeMetaData meta)
Create a new node.
|
boolean |
delete(int key,
int rowid)
Delete an arbitrary instance of the specified key and the specified row
|
java.lang.Integer |
get(int key)
Find some occurance of the given key.
|
org.apache.commons.collections.primitives.IntListIterator |
getAll(int key)
Obtain an iterator over all values associated with the given key.
|
org.apache.commons.collections.primitives.IntListIterator |
getAllExcludingNull()
Obtain an iterator over all values excluding null key values
|
org.apache.commons.collections.primitives.IntListIterator |
getAllFrom(int key)
Obtain an iterator over all values greater than or equal to the given key.
|
org.apache.commons.collections.primitives.IntListIterator |
getAllTo(int key)
Obtain an iterator over all values strictly less than the given key.
|
protected org.axiondb.util.BTreeMetaData |
getBTreeMetaData() |
protected org.apache.commons.collections.primitives.IntList |
getChildIds() |
protected int |
getFileId() |
protected int |
getFileIdForIndex(int index)
Get the file id for the specified index.
|
protected int |
getKey(int index)
Obtain the key stored at the specified index.
|
protected int |
getKeyCapacity()
Return the maximum number of keys I can contain (2*
minimizationFactor -1). |
protected int |
getMinimizationFactor() |
protected int |
getValue(int index) |
protected org.apache.commons.collections.primitives.IntList |
getValues() |
IntListIteratorChain |
inorderIterator() |
void |
insert(int key,
int value)
Insert the given key/value pair.
|
protected boolean |
isFull() |
protected boolean |
isLeaf()
Returns
true iff I don't contain any child nodes. |
protected boolean |
isRoot()
Returns
true iff I am the root node. |
protected IntBTree |
loadNode(org.axiondb.util.BTreeMetaData meta,
int fileId)
Read the node with the specified fileId from disk.
|
protected void |
read()
Reads in the node.
|
void |
replaceId(int key,
int oldRowId,
int newRowId)
Replace any occurance of oldRowId associated with the given key with newRowId.
|
void |
save()
Deprecated.
See
save(File) |
void |
save(java.io.File dataDirectory)
Saves the tree.
|
void |
saveAfterTruncate() |
protected void |
saveCounterIfRoot() |
protected void |
setChildIds(org.apache.commons.collections.primitives.IntList childIds) |
protected void |
setFileId(int fileId) |
protected void |
setValue(int index,
int val) |
protected void |
setValues(org.apache.commons.collections.primitives.IntList vals) |
int |
size()
Returns the number of keys I currently contain.
|
protected java.lang.String |
space(int n)
Return a String comprised of 2*n spaces.
|
java.lang.String |
toString()
Obtain a String representation of this node, suitable for debugging.
|
void |
truncate() |
org.apache.commons.collections.primitives.IntListIterator |
valueIterator() |
org.apache.commons.collections.primitives.IntListIterator |
valueIteratorGreaterThan(int fromkey) |
org.apache.commons.collections.primitives.IntListIterator |
valueIteratorGreaterThanOrEqualTo(int fromkey) |
protected void |
write()
Writes the node file out.
|
public IntBTree(java.io.File idxDir, java.lang.String idxName, int minimizationFactor) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected IntBTree(org.axiondb.util.BTreeMetaData meta) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected IntBTree(org.axiondb.util.BTreeMetaData meta, int fileId) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public final void clearData()
public final boolean delete(int key, int rowid) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public final java.lang.Integer get(int key) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public final org.apache.commons.collections.primitives.IntListIterator getAll(int key) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public final org.apache.commons.collections.primitives.IntListIterator getAllExcludingNull() throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public final org.apache.commons.collections.primitives.IntListIterator getAllFrom(int key) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public final org.apache.commons.collections.primitives.IntListIterator getAllTo(int key) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public IntListIteratorChain inorderIterator() throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public final void insert(int key, int value) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public final void replaceId(int key, int oldRowId, int newRowId) throws java.lang.ClassNotFoundException, java.io.IOException
java.lang.ClassNotFoundException
java.io.IOException
public final void save() throws java.io.IOException, java.lang.ClassNotFoundException
save(File)
java.io.IOException
java.lang.ClassNotFoundException
public final int size()
minimizationFactor
-1 and at most
2*minimizationFactor
-1 for all nodes except the
root (which may have fewer than minimizationFactor
-1 keys).public final java.lang.String toString()
toString
in class java.lang.Object
public void truncate()
org.axiondb.util.BaseBTree#reset()
public org.apache.commons.collections.primitives.IntListIterator valueIterator() throws java.io.IOException
java.io.IOException
public org.apache.commons.collections.primitives.IntListIterator valueIteratorGreaterThan(int fromkey) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public org.apache.commons.collections.primitives.IntListIterator valueIteratorGreaterThanOrEqualTo(int fromkey) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected final void addKeyValuePair(int key, int value, boolean setDirty)
protected IntBTree createNode(org.axiondb.util.BTreeMetaData meta) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected final int getKey(int index)
protected IntBTree loadNode(org.axiondb.util.BTreeMetaData meta, int fileId) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected void read() throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected void write() throws java.io.IOException
java.io.IOException
public void save(java.io.File dataDirectory) throws java.io.IOException, java.lang.ClassNotFoundException
write()
s any dirty nodes.java.io.IOException
java.lang.ClassNotFoundException
public void saveAfterTruncate() throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected final void addFileId(int fileId)
protected final void addFileId(int index, int fileid)
protected final void addFileIds(org.apache.commons.collections.primitives.IntList fileIds)
protected final org.axiondb.util.BTreeMetaData getBTreeMetaData()
protected final org.apache.commons.collections.primitives.IntList getChildIds()
protected final int getFileId()
protected final int getFileIdForIndex(int index)
protected final int getKeyCapacity()
minimizationFactor
-1).protected final int getMinimizationFactor()
protected final int getValue(int index)
protected final org.apache.commons.collections.primitives.IntList getValues()
protected final boolean isFull()
protected final boolean isLeaf()
true
iff I don't contain any child nodes.protected final boolean isRoot()
true
iff I am the root node.protected final void saveCounterIfRoot() throws java.io.IOException
java.io.IOException
protected final void setChildIds(org.apache.commons.collections.primitives.IntList childIds)
protected final void setFileId(int fileId)
protected final void setValue(int index, int val)
protected final void setValues(org.apache.commons.collections.primitives.IntList vals)
protected final java.lang.String space(int n)