public abstract class AbstractReadOnlyNodeData<U extends IAbstractNodeData> extends Object
ByteBuffer
. Access to the keys, values and
other metadata are via operations on that ByteBuffer
.Modifier and Type | Field and Description |
---|---|
static short |
currentVersion
The current version.
|
static short |
FLAG_DELETE_MARKERS
Bit flag for a leaf carrying delete markers for each tuple.
|
static short |
FLAG_OVERFLOW_DIRECTORY
Marks a directory page as an overflow directory page (HTree).
|
static short |
FLAG_RAW_RECORDS
Bit flag for a leaf carrying raw record bit flags.
|
static short |
FLAG_RWSTORE_ADDRS
Bit flag for a node or leaf on the RWStore using native int32 addresses
for persistence.
|
static short |
FLAG_VERSION_TIMESTAMPS
Bit flag for a leaf carrying version timestamps for each tuple.
|
static byte |
LEAF
A B+Tree leaf data record.
|
static byte |
LINKED_LEAF
A B+Tree leaf data record with with priorAddr and nextAddr fields.
|
static byte |
NODE
A B+Tree node data record.
|
static int |
O_NEXT
The offset of the long field which codes the address of the next leaf.
|
static int |
O_PRIOR
The offset of the long field which codes the address of the previous
leaf.
|
static int |
O_TYPE
The offset of the byte field which codes the type of the node or leaf.
|
static int |
SIZEOF_ADDR
The size of a field in the data record which encodes the address of a
child node or leaf.
|
static int |
SIZEOF_FLAGS
The size of the field in the data record which encodes bit flags for the
node or leaf.
|
static int |
SIZEOF_KEYS_SIZE
The size of the field in the data record which encodes the #of bytes in
the coded keys (or the coded values).
|
static int |
SIZEOF_NKEYS
The size of the field in the data record which encodes the #of keys in
the node or leaf.
|
static int |
SIZEOF_TIMESTAMP
The size of a field in the data record which encodes the revision
timestamp of a tuple in a leaf.
|
static int |
SIZEOF_TYPE
The size of the field in the data record which encodes whether the data
record represents a B+Tree
NODE , a LEAF , or a
LINKED_LEAF . |
static int |
SIZEOF_VERSION
The size of the field in the data record which encodes the serialization
version of the data record.
|
static short |
VERSION0
The initial version.
|
static short |
VERSION1
This version introduces:
spannedTupleCount
Both the #of children spanned by the node (
nentries ) and
the #of children spanned by each child of the node (
childEntryCount ) are int64 integers in this version. |
Modifier | Constructor and Description |
---|---|
protected |
AbstractReadOnlyNodeData()
Core ctor.
|
public static final byte NODE
public static final byte LEAF
public static final byte LINKED_LEAF
IndexSegment
.public static final short VERSION0
public static final transient short VERSION1
nentries
) and
the #of children spanned by each child of the node (
childEntryCount
) are int64 integers in this version. The
manner in which those integers are coded within the record has also
changed.public static final transient short currentVersion
public static final short FLAG_DELETE_MARKERS
public static final short FLAG_VERSION_TIMESTAMPS
public static final short FLAG_RWSTORE_ADDRS
public static final short FLAG_OVERFLOW_DIRECTORY
public static final short FLAG_RAW_RECORDS
public static final int SIZEOF_TYPE
NODE
, a LEAF
, or a
LINKED_LEAF
.public static final int SIZEOF_VERSION
public static final int SIZEOF_FLAGS
public static final int SIZEOF_NKEYS
nkeys+1
.public static final int SIZEOF_KEYS_SIZE
public static final int SIZEOF_ADDR
public static final int SIZEOF_TIMESTAMP
public static final int O_TYPE
public static final int O_PRIOR
LINKED_LEAF
.public static final int O_NEXT
LINKED_LEAF
.protected AbstractReadOnlyNodeData()
ByteBuffer
with the encoded node or leaf data and one when you
have a mutable Node
or Leaf
and you want to persist it.
In the latter case, the derived class allocates a ByteBuffer
and
encodes the data onto that buffer.public static boolean isNode(byte b)
true
iff the byte indicates an INodeData
record.b
- The byte value.public static boolean isLeaf(byte b)
true
iff the byte indicates an ILeafData
record. Note that this will return true for both LEAF
and
LINKED_LEAF
.b
- The byte value.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.