public class BPlusTree extends Object
| Modifier and Type | Field and Description |
|---|---|
protected PageAllocator |
allocator |
static String |
FILENAME_EXTENSION |
static String |
FILENAME_PREFIX |
protected DataBox |
keySchema |
| Constructor and Description |
|---|
BPlusTree(DataBox keySchema,
String fName)
This constructor is used for creating an empty BPlusTree.
|
BPlusTree(DataBox keySchema,
String fName,
String filePrefix) |
BPlusTree(String fName)
This constructor is used for loading a BPlusTree from a file.
|
BPlusTree(String fName,
String filePrefix) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
containsKey(DataBox key)
Perform an equality search on the specified key.
|
void |
decrementNumNodes() |
boolean |
deleteKey(DataBox key,
RecordID rid)
Delete an entry with the matching key and RecordID.
|
int |
getNumNodes() |
int |
getNumPages()
Return the number of pages.
|
void |
incrementNumNodes() |
void |
insertKey(DataBox key,
RecordID rid)
Insert a (Key, RecordID) tuple.
|
Iterator<RecordID> |
lookupKey(DataBox key)
Perform an equality search on the specified key.
|
Iterator<RecordID> |
sortedScan()
Perform a sorted scan.
|
Iterator<RecordID> |
sortedScanFrom(DataBox keyStart)
Perform a range search beginning from a specified key.
|
protected void |
updateRoot(int pNum)
Update the root page.
|
public static final String FILENAME_PREFIX
public static final String FILENAME_EXTENSION
protected PageAllocator allocator
protected DataBox keySchema
public BPlusTree(DataBox keySchema, String fName)
keySchema - the schema of the index keyfName - the filename of where the index will be builtpublic BPlusTree(String fName)
fName - the filename of a preexisting BPlusTreepublic void incrementNumNodes()
public void decrementNumNodes()
public int getNumNodes()
public Iterator<RecordID> sortedScan()
public Iterator<RecordID> sortedScanFrom(DataBox keyStart)
keyStart - the key to start iterating frompublic Iterator<RecordID> lookupKey(DataBox key)
key - the key to matchpublic void insertKey(DataBox key, RecordID rid)
key - the key to insertrid - the RecordID of the given keypublic boolean deleteKey(DataBox key, RecordID rid)
key - the key to be deletedrid - the RecordID of the key to be deletedpublic boolean containsKey(DataBox key)
key - the key to lookuppublic int getNumPages()
protected void updateRoot(int pNum)
pNum - the page number of the new root nodeCopyright © 2017. All rights reserved.