E
- public static class AbstractBTreeTupleCursor.MutableBTreeTupleCursor<E> extends AbstractBTreeTupleCursor.ReadOnlyBTreeTupleCursor<E>
ITuple
that directly supports forward and reverse cursor
operations on a local mutable BTree
.
This implementation supports concurrent modification of the BTree
but is NOT thread-safe. This means that you can interleave cursor-based
tuple operations with insert, update, or delete of tuples using the
BTree
. However, the BTree
itself is NOT thread-safe for
mutation and this class does not relax that limitation.
AbstractBTreeTupleCursor.MutableBTreeTupleCursor<E>, AbstractBTreeTupleCursor.ReadOnlyBTreeTupleCursor<E>
btree, currentPosition, DEBUG, fromKey, INFO, log, toKey, tuple, visitDeleted
Constructor and Description |
---|
AbstractBTreeTupleCursor.MutableBTreeTupleCursor(BTree btree,
Tuple<E> tuple,
byte[] fromKey,
byte[] toKey) |
Modifier and Type | Method and Description |
---|---|
protected com.bigdata.btree.AbstractBTreeTupleCursor.MutableCursorPosition<E> |
newPosition(ILeafCursor<Leaf> leafCursor,
int index,
byte[] key)
Return a new
ICursorPosition from the leafCursor, tuple
index, and key |
protected com.bigdata.btree.AbstractBTreeTupleCursor.ReadOnlyCursorPosition<E> |
newTemporaryPosition(com.bigdata.btree.AbstractBTreeTupleCursor.ICursorPosition<Leaf,E> p)
Note: This is only used by
AbstractBTreeTupleCursor.hasNext() and AbstractBTreeTupleCursor.hasPrior()
for a temporary test without side-effects on the state of the
ITupleCursor and therefore we do NOTNOT register an
Leaf.ILeafListener since that is just more overhead and it will
not be used. |
assertCursorPositionDefined, currentKey, first, firstPosition, getExclusiveUpperBound, getFromKey, getInclusiveLowerBound, getIndex, getToKey, hasNext, hasPrior, isCursorPositionDefined, isDeletedTupleVisitor, last, lastPosition, newPosition, next, nextTuple, prior, priorTuple, rangeCheck, remove, seek, seek, toString, tuple
protected com.bigdata.btree.AbstractBTreeTupleCursor.MutableCursorPosition<E> newPosition(ILeafCursor<Leaf> leafCursor, int index, byte[] key)
AbstractBTreeTupleCursor
ICursorPosition
from the leafCursor, tuple
index, and keynewPosition
in class AbstractBTreeTupleCursor.ReadOnlyBTreeTupleCursor<E>
leafCursor
- The ILeafCursor
(already positioned on the desired
leaf).index
- The index of the tuple corresponding to the key within
the current leaf of the leafCursor -or- a negative
integer representing the insertion point for the key
if the key is spanned by that leaf but there is no
tuple for that key in the leaf.key
- The key.ICursorPosition
.protected com.bigdata.btree.AbstractBTreeTupleCursor.ReadOnlyCursorPosition<E> newTemporaryPosition(com.bigdata.btree.AbstractBTreeTupleCursor.ICursorPosition<Leaf,E> p)
AbstractBTreeTupleCursor.hasNext()
and AbstractBTreeTupleCursor.hasPrior()
for a temporary test without side-effects on the state of the
ITupleCursor
and therefore we do NOTNOT register an
Leaf.ILeafListener
since that is just more overhead and it will
not be used.newTemporaryPosition
in class AbstractBTreeTupleCursor.ReadOnlyBTreeTupleCursor<E>
p
- The cursor position.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.