| Package | Description |
|---|---|
| org.apache.directory.mavibot.btree |
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
AbstractPage<K,V>
A MVCC abstract Page.
|
(package private) class |
InMemoryLeaf<K,V>
A MVCC Leaf.
|
(package private) class |
InMemoryNode<K,V>
A MVCC Node.
|
(package private) class |
PersistedLeaf<K,V>
A MVCC Leaf.
|
(package private) class |
PersistedNode<K,V>
A MVCC Node.
|
| Modifier and Type | Field and Description |
|---|---|
private Page<K,V> |
LevelInfo.currentPage
The current page which contains the data until we move it to the resulting BTree
|
protected Page<K,V> |
SplitResult.leftPage
The left child
|
private Page<K,V> |
AbstractDeleteResult.modifiedPage
The modified page reference
|
protected Page<K,V> |
ModifyResult.modifiedPage
The modified page reference
|
private Page<K,V> |
AbstractBorrowedFromSiblingResult.modifiedSibling
The modified sibling reference
|
private Page<K,V> |
PageHolder.page
The stored page
|
(package private) Page<K,V> |
ParentPos.page
The page we are browsing
|
protected Page<K,V> |
SplitResult.rightPage
The right child
|
private Page<K,V> |
BTreeHeader.rootPage
A Map containing the rootPage for this tree
|
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<Page<K,V>> |
AbstractResult.copiedPage
The list of copied page reference
|
| Modifier and Type | Method and Description |
|---|---|
private Page<K,V> |
InMemoryLeaf.addElement(long revision,
K key,
V value,
int pos)
Adds a new
|
private Page<K,V> |
PersistedLeaf.addElement(long revision,
K key,
V value,
int pos)
Adds a new
|
private Page<K,V> |
InMemoryBTreeBuilder.addLeaves(BTree<K,V> btree,
java.util.List<Tuple<K,V>> tuples,
int maxElements)
Creates all the leaves using the provided tuples, and update the upper layer if needed
|
private Page<K,V> |
PersistedLeaf.addSubTreeElement(long revision,
K key,
int pos)
same as
PersistedLeaf.addElement(long, Object, Object, int) except the values are not copied. |
private Page<K,V> |
InMemoryBTreeBuilder.attachNodes(java.util.List<Page<K,V>> children,
BTree<K,V> btree) |
private Page<K,V> |
PersistedBTreeBuilder.attachNodes(java.util.List<Page<K,V>> children,
BTree<K,V> btree) |
private Page<K,V> |
InMemoryLeaf.copy(long revision,
int nbElems)
Copy the current page and all of the keys, values and children, if it's not a leaf.
|
private Page<K,V> |
PersistedLeaf.copy(long revision,
int nbElems)
Copy the current page and all of the keys, values and children, if it's not a leaf.
|
(package private) static <K,V> Page<K,V> |
BTreeFactory.createLeaf(BTree<K,V> btree,
long revision,
int nbElems)
Create a new Leaf for the given B-tree.
|
(package private) static <K,V> Page<K,V> |
BTreeFactory.createNode(BTree<K,V> btree,
long revision,
int nbElems)
Create a new Node for the given B-tree.
|
<K,V> Page<K,V> |
RecordManager.deserialize(BTree<K,V> btree,
long offset)
Deserialize a Page from a B-tree at a give position
|
private Page<K,V> |
PersistedPageHolder.fetchElement()
Retrieve the value from the disk, using the BTree and offset
|
Page<K,V> |
LevelInfo.getCurrentPage() |
Page<K,V> |
SplitResult.getLeftPage() |
Page<K,V> |
AbstractDeleteResult.getModifiedPage() |
Page<K,V> |
DeleteResult.getModifiedPage() |
Page<K,V> |
NotPresentResult.getModifiedPage() |
Page<K,V> |
ModifyResult.getModifiedPage() |
Page<K,V> |
AbstractBorrowedFromSiblingResult.getModifiedSibling() |
Page<K,V> |
BorrowedFromSiblingResult.getModifiedSibling() |
(package private) Page<K,V> |
AbstractPage.getPage(int pos) |
(package private) Page<K,V> |
AbstractPage.getReference(int pos) |
Page<K,V> |
SplitResult.getRightPage() |
Page<K,V> |
InMemoryBTree.getRootPage()
Get the current rootPage
|
(package private) Page<K,V> |
BTreeHeader.getRootPage()
Get the root page
|
Page<K,V> |
BTree.getRootPage()
Get the current rootPage
|
Page<K,V> |
PersistedBTree.getRootPage()
Get the current rootPage
|
abstract Page<K,V> |
AbstractBTree.getRootPage()
Get the current rootPage
|
(package private) static <K,V> Page<K,V> |
BTreeFactory.getRootPage(BTree<K,V> btree)
Return the B-tree root page
|
(package private) <K,V> Page<K,V> |
RecordManager.getRootPage(BTree<K,V> btree,
long revision)
Fetch the rootPage of a given B-tree for a given revision.
|
Page<K,V> |
InMemoryBTree.getRootPage(long revision)
Get the rootPage associated to a give revision.
|
Page<K,V> |
BTree.getRootPage(long revision)
Get the rootPage associated to a given revision.
|
Page<K,V> |
PersistedBTree.getRootPage(long revision)
Get the rootPzge associated to a give revision.
|
(package private) Page<K,V> |
PageHolder.getValue() |
Page<K,V> |
PersistedPageHolder.getValue() |
private <K,V> Page<K,V> |
RecordManager.readPage(BTree<K,V> btree,
PageIO[] pageIos)
Read a page from some PageIO for a given B-tree
|
private <K,V> Page<K,V> |
RecordManager.readRootPage(BTree<K,V> btree,
long btreeHeaderOffset)
Read a root page from the B-tree header offset
|
| Modifier and Type | Method and Description |
|---|---|
java.util.List<Page<K,V>> |
AbstractResult.getCopiedPages() |
| Modifier and Type | Method and Description |
|---|---|
private int |
InMemoryBTreeBuilder.add(BTree<K,V> btree,
Page<K,V>[] pageStack,
int level,
Page<K,V> page,
Tuple<K,V> tuple) |
private int |
InMemoryBTreeBuilder.add(BTree<K,V> btree,
Page<K,V>[] pageStack,
int level,
Page<K,V> page,
Tuple<K,V> tuple) |
private InsertResult<K,V> |
InMemoryNode.addAndSplit(java.util.List<Page<K,V>> copiedPages,
long revision,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Splits a full page into two new pages, a left, a right and a pivot element.
|
private InsertResult<K,V> |
InMemoryNode.addAndSplit(java.util.List<Page<K,V>> copiedPages,
long revision,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Splits a full page into two new pages, a left, a right and a pivot element.
|
private InsertResult<K,V> |
PersistedNode.addAndSplit(java.util.List<Page<K,V>> copiedPages,
long revision,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Splits a full page into two new pages, a left, a right and a pivot element.
|
private InsertResult<K,V> |
PersistedNode.addAndSplit(java.util.List<Page<K,V>> copiedPages,
long revision,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Splits a full page into two new pages, a left, a right and a pivot element.
|
void |
AbstractResult.addCopiedPage(Page<K,V> page)
Add a new copied page
|
private PageHolder<K,V> |
PersistedNode.createHolder(Page<K,V> page)
Creates a new holder containing a reference to a Page
|
(package private) DeleteResult<K,V> |
InMemoryNode.delete(K key,
V value,
long revision,
Page<K,V> parent,
int parentPos)
The real delete implementation.
|
(package private) DeleteResult<K,V> |
InMemoryLeaf.delete(K key,
V value,
long revision,
Page<K,V> parent,
int parentPos)
The real delete implementation.
|
(package private) abstract DeleteResult<K,V> |
AbstractPage.delete(K key,
V value,
long revision,
Page<K,V> parent,
int parentPos)
The real delete implementation.
|
(package private) DeleteResult<K,V> |
PersistedLeaf.delete(K key,
V value,
long revision,
Page<K,V> parent,
int parentPos)
The real delete implementation.
|
(package private) DeleteResult<K,V> |
PersistedNode.delete(K key,
V value,
long revision,
Page<K,V> parent,
int parentPos)
The real delete implementation.
|
private static <K,V> void |
BulkLoader.injectInNode(BTree<K,V> btree,
Page<K,V> page,
java.util.List<LevelInfo<K,V>> levels,
int levelIndex)
Inject a page reference into a Node.
|
private static <K,V> void |
BulkLoader.injectInRoot(BTree<K,V> btree,
Page<K,V> page,
PageHolder<K,V> pageHolder,
LevelInfo<K,V> level)
Inject a page reference into the root page.
|
private InsertResult<K,V> |
InMemoryNode.insertChild(java.util.List<Page<K,V>> copiedPages,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Adds a new key into a copy of the current page at a given position.
|
private InsertResult<K,V> |
InMemoryNode.insertChild(java.util.List<Page<K,V>> copiedPages,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Adds a new key into a copy of the current page at a given position.
|
private InsertResult<K,V> |
PersistedNode.insertChild(java.util.List<Page<K,V>> copiedPages,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Adds a new key into a copy of the current page at a given position.
|
private InsertResult<K,V> |
PersistedNode.insertChild(java.util.List<Page<K,V>> copiedPages,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Adds a new key into a copy of the current page at a given position.
|
protected int |
AbstractPage.selectSibling(Page<K,V> parent,
int parentPos)
Selects the sibling (the previous or next page with the same parent) which has
the more element assuming it's above N/2
|
private <K,V> PageIO[] |
RecordManager.serializePage(BTree<K,V> btree,
long revision,
Page<K,V> page)
Serialize a new Page.
|
void |
LevelInfo.setCurrentPage(Page<K,V> currentPage) |
(package private) static <K,V> void |
BTreeFactory.setKey(BTree<K,V> btree,
Page<K,V> page,
int pos,
byte[] buffer)
Set the key at a give position
|
(package private) static <K,V> void |
BTreeFactory.setKey(BTree<K,V> btree,
Page<K,V> page,
int pos,
K key)
Set the key at a give position
|
(package private) void |
AbstractDeleteResult.setModifiedPage(Page<K,V> modifiedPage) |
void |
ModifyResult.setModifiedPage(Page<K,V> modifiedPage)
Set the modified page
|
(package private) static <K,V> void |
BTreeFactory.setPage(BTree<K,V> btree,
Page<K,V> page,
int pos,
Page<K,V> child)
Set the page at a give position
|
(package private) static <K,V> void |
BTreeFactory.setPage(BTree<K,V> btree,
Page<K,V> page,
int pos,
Page<K,V> child)
Set the page at a give position
|
(package private) static <K,V> void |
BTreeFactory.setRootPage(BTree<K,V> btree,
Page<K,V> root)
Set the new root page for this tree.
|
(package private) void |
InMemoryBTree.setRootPage(Page<K,V> root) |
(package private) void |
BTreeHeader.setRootPage(Page<K,V> rootPage)
Set the root page
|
(package private) void |
PersistedBTree.setRootPage(Page<K,V> root) |
(package private) abstract void |
AbstractBTree.setRootPage(Page<K,V> root) |
(package private) static <K,V> void |
BTreeFactory.setValue(BTree<K,V> btree,
Page<K,V> page,
int pos,
ValueHolder<V> value)
Set the value at a give position
|
(package private) void |
InMemoryNode.setValue(int pos,
Page<K,V> value)
Set the value at a give position
|
(package private) <K,V> void |
RecordManager.storeRootPage(BTree<K,V> btree,
Page<K,V> rootPage)
Store a reference to an old rootPage into the Revision B-tree
|
(package private) <K,V> PageHolder<K,V> |
RecordManager.writePage(BTree<K,V> btree,
Page<K,V> newPage,
long newRevision)
Write the page in a serialized form.
|
private PageHolder<K,V> |
PersistedBTree.writePage(Page<K,V> modifiedPage,
long revision)
Write a page either in the pending pages if the transaction is started,
or directly on disk.
|
| Modifier and Type | Method and Description |
|---|---|
private InsertResult<K,V> |
InMemoryNode.addAndSplit(java.util.List<Page<K,V>> copiedPages,
long revision,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Splits a full page into two new pages, a left, a right and a pivot element.
|
private InsertResult<K,V> |
PersistedNode.addAndSplit(java.util.List<Page<K,V>> copiedPages,
long revision,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Splits a full page into two new pages, a left, a right and a pivot element.
|
(package private) <K,V> void |
RecordManager.addInCopiedPagesBtree(java.lang.String name,
long revision,
java.util.List<Page<K,V>> pages)
Add a new
|
private Page<K,V> |
InMemoryBTreeBuilder.attachNodes(java.util.List<Page<K,V>> children,
BTree<K,V> btree) |
private Page<K,V> |
PersistedBTreeBuilder.attachNodes(java.util.List<Page<K,V>> children,
BTree<K,V> btree) |
(package private) <K,V> void |
RecordManager.freePages(BTree<K,V> btree,
long revision,
java.util.List<Page<K,V>> pages)
Move a list of pages to the free page list.
|
private InsertResult<K,V> |
InMemoryNode.insertChild(java.util.List<Page<K,V>> copiedPages,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Adds a new key into a copy of the current page at a given position.
|
private InsertResult<K,V> |
PersistedNode.insertChild(java.util.List<Page<K,V>> copiedPages,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage,
int pos)
Adds a new key into a copy of the current page at a given position.
|
| Constructor and Description |
|---|
AbstractBorrowedFromSiblingResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement,
AbstractBorrowedFromSiblingResult.SiblingPosition position)
A constructor for RemoveResult with a list of copied pages.
|
AbstractBorrowedFromSiblingResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement,
AbstractBorrowedFromSiblingResult.SiblingPosition position)
A constructor for RemoveResult with a list of copied pages.
|
AbstractBorrowedFromSiblingResult(Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement,
AbstractBorrowedFromSiblingResult.SiblingPosition position)
The default constructor for RemoveResult.
|
AbstractBorrowedFromSiblingResult(Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement,
AbstractBorrowedFromSiblingResult.SiblingPosition position)
The default constructor for RemoveResult.
|
AbstractDeleteResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
The default constructor for AbstractDeleteResult.
|
AbstractDeleteResult(Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
The default constructor for AbstractDeleteResult.
|
BorrowedFromLeftResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
A constructor for BorrowedFromLeftResult which takes a list of copied pages.
|
BorrowedFromLeftResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
A constructor for BorrowedFromLeftResult which takes a list of copied pages.
|
BorrowedFromLeftResult(Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
The default constructor for BorrowedFromLeftResult.
|
BorrowedFromLeftResult(Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
The default constructor for BorrowedFromLeftResult.
|
BorrowedFromRightResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
A constructor for BorrowedFromRightResult which takes a list of copied pages.
|
BorrowedFromRightResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
A constructor for BorrowedFromRightResult which takes a list of copied pages.
|
BorrowedFromRightResult(Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
The default constructor for BorrowedFromRightResult.
|
BorrowedFromRightResult(Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
The default constructor for BorrowedFromRightResult.
|
InMemoryNode(BTree<K,V> btree,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage)
Creates a new Node which will contain only one key, with references to
a left and right page.
|
InMemoryNode(BTree<K,V> btree,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage)
Creates a new Node which will contain only one key, with references to
a left and right page.
|
MergedWithSiblingResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
A constructor for RemoveResult which takes a list of copied page.
|
MergedWithSiblingResult(Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
The default constructor for RemoveResult.
|
ModifyResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
V modifiedValue)
A constructor for ModifyResult which takes a list of copied pages.
|
ModifyResult(Page<K,V> modifiedPage,
V modifiedValue)
The default constructor for ModifyResult.
|
PageHolder(BTree<K,V> btree,
Page<K,V> page)
Create a new holder storing an offset and a SoftReference containing the element.
|
ParentPos(Page<K,V> page,
int pos)
Creates a new instance of ParentPos
|
PersistedNode(BTree<K,V> btree,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage)
Creates a new Node which will contain only one key, with references to
a left and right page.
|
PersistedNode(BTree<K,V> btree,
long revision,
K key,
Page<K,V> leftPage,
Page<K,V> rightPage)
Creates a new Node which will contain only one key, with references to
a left and right page.
|
PersistedPageHolder(BTree<K,V> btree,
Page<K,V> page)
Create a new holder storing an offset and a SoftReference containing the element.
|
PersistedPageHolder(BTree<K,V> btree,
Page<K,V> page,
long offset,
long lastOffset)
Create a new holder storing an offset and a SoftReference containing the element.
|
RemoveResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
A constructor for RemoveResult which takes a list of copied pages.
|
RemoveResult(Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
The default constructor for RemoveResult.
|
SplitResult(K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage)
The default constructor for SplitResult.
|
SplitResult(K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage)
The default constructor for SplitResult.
|
SplitResult(java.util.List<Page<K,V>> copiedPages,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage)
A constructor for SplitResult with copied pages.
|
SplitResult(java.util.List<Page<K,V>> copiedPages,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage)
A constructor for SplitResult with copied pages.
|
| Constructor and Description |
|---|
AbstractBorrowedFromSiblingResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement,
AbstractBorrowedFromSiblingResult.SiblingPosition position)
A constructor for RemoveResult with a list of copied pages.
|
AbstractDeleteResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
The default constructor for AbstractDeleteResult.
|
AbstractResult(java.util.List<Page<K,V>> copiedPages)
Creates an instance of AbstractResult with an initialized list of copied pages.
|
BorrowedFromLeftResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
A constructor for BorrowedFromLeftResult which takes a list of copied pages.
|
BorrowedFromRightResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Page<K,V> modifiedSibling,
Tuple<K,V> removedElement)
A constructor for BorrowedFromRightResult which takes a list of copied pages.
|
MergedWithSiblingResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
A constructor for RemoveResult which takes a list of copied page.
|
ModifyResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
V modifiedValue)
A constructor for ModifyResult which takes a list of copied pages.
|
RemoveResult(java.util.List<Page<K,V>> copiedPages,
Page<K,V> modifiedPage,
Tuple<K,V> removedElement)
A constructor for RemoveResult which takes a list of copied pages.
|
SplitResult(java.util.List<Page<K,V>> copiedPages,
K pivot,
Page<K,V> leftPage,
Page<K,V> rightPage)
A constructor for SplitResult with copied pages.
|