public static class IndexSegment.ImmutableNodeFactory.ImmutableLeaf extends Leaf
UnsupportedOperationException
for the
public mutator API but does not try to override all low-level
mutation behaviors.Leaf.ILeafListener
btree, DEBUG, log, parent, referenceCount, self
NULL
Modifier | Constructor and Description |
---|---|
protected |
IndexSegment.ImmutableNodeFactory.ImmutableLeaf(AbstractBTree btree)
Ctor used when the
IndexSegment is empty (no tuples) to
create an empty (and immutable) root leaf. |
protected |
IndexSegment.ImmutableNodeFactory.ImmutableLeaf(AbstractBTree btree,
long addr,
ILeafData data) |
Modifier and Type | Method and Description |
---|---|
void |
delete()
Deletes the persistence capable object.
|
Tuple |
insert(byte[] key,
byte[] val,
boolean deleted,
boolean putIfAbsent,
long timestamp,
Tuple tuple)
Insert or update an entry in the leaf as appropriate.
|
IndexSegment.ImmutableNodeFactory.ImmutableLeaf |
nextLeaf() |
IndexSegment.ImmutableNodeFactory.ImmutableLeaf |
priorLeaf() |
Tuple |
remove(byte[] key,
Tuple tuple)
Recursive search locates the appropriate leaf and removes the entry for
the key.
|
addLeafListener, copyDown, data, dump, entryIterator, fireInvalidateLeafEvent, getDelegate, getDeleteMarker, getKeyCount, getKeys, getMaximumVersionTimestamp, getMinimumVersionTimestamp, getNextAddr, getPriorAddr, getRawRecord, getValue, getValueCount, getValues, getVersionTimestamp, hasDeleteMarkers, hasRawRecords, hasVersionTimestamps, indexOf, isCoded, isDoubleLinked, isLeaf, isReadOnly, keyAt, lookup, maxKeys, merge, minKeys, postOrderIterator, postOrderNodeIterator, rangeCheck, rangeCheck2, readRawRecord, redistributeKeys, split, toString, valueAt
assertInvariants, assertKeysMonotonic, copyKey, copyOnWrite, copyOnWrite, dump, dump, getBranchingFactor, getParent, isLeftMostNode, isRightMostNode, join, keyAsString, postOrderNodeIterator, postOrderNodeIterator, rangeIterator
getIdentity, indent, isDeleted, isDirty, isPersistent, setDirty, setIdentity, toShortString
protected IndexSegment.ImmutableNodeFactory.ImmutableLeaf(AbstractBTree btree)
IndexSegment
is empty (no tuples) to
create an empty (and immutable) root leaf.btree
- protected IndexSegment.ImmutableNodeFactory.ImmutableLeaf(AbstractBTree btree, long addr, ILeafData data)
btree
- addr
- keys
- values
- public void delete()
IIdentityAccess
delete
in interface IIdentityAccess
delete
in class Leaf
public Tuple insert(byte[] key, byte[] val, boolean deleted, boolean putIfAbsent, long timestamp, Tuple tuple)
Leaf
insert
in class Leaf
key
- The key (non-null).val
- The value (may be null).deleted
- true
iff the entry is to marked as deleted
(delete markers must be supported for if this is true).putIfAbsent
- When true
, a pre-existing entry for the key will
NOT be replaced (unless it is a deleted tuple, which is the
same as if there was no entry under the key). This should ONLY
be true when the top-level method is putIfAbsent
.
Historical code paths should specify false for an unconditional
mutation. See BLZG-1539.timestamp
- The timestamp associated with the version (the value is
ignored unless version metadata is being maintained).tuple
- A tuple that may be used to obtain the data and metadata for
the pre-existing index entry overwritten by the insert
operation (optional).null
otherwise.public Tuple remove(byte[] key, Tuple tuple)
AbstractNode
Note: It is an error to call this method if delete markers are in use.
remove
in class Leaf
key
- The search key.tuple
- A tuple that may be used to obtain the data and metadata for
the pre-existing index entry that was either removed by the
remove operation (optional).null
otherwise.public IndexSegment.ImmutableNodeFactory.ImmutableLeaf nextLeaf()
public IndexSegment.ImmutableNodeFactory.ImmutableLeaf priorLeaf()
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.