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.ILeafListenerbtree, DEBUG, log, parent, referenceCount, selfNULL| 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, valueAtassertInvariants, assertKeysMonotonic, copyKey, copyOnWrite, copyOnWrite, dump, dump, getBranchingFactor, getParent, isLeftMostNode, isRightMostNode, join, keyAsString, postOrderNodeIterator, postOrderNodeIterator, rangeIteratorgetIdentity, indent, isDeleted, isDirty, isPersistent, setDirty, setIdentity, toShortStringprotected 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()
IIdentityAccessdelete in interface IIdentityAccessdelete in class Leafpublic Tuple insert(byte[] key, byte[] val, boolean deleted, boolean putIfAbsent, long timestamp, Tuple tuple)
Leafinsert in class Leafkey - 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)
AbstractNodeNote: It is an error to call this method if delete markers are in use.
remove in class Leafkey - 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.