|
|
void | ReplaceChild (const ART &art, const uint8_t byte, const Node child=Node()) const |
| | Replace the child at byte.
|
| |
|
const unsafe_optional_ptr< Node > | GetChild (ART &art, const uint8_t byte) const |
| | Get the immutable child at byte.
|
| |
|
unsafe_optional_ptr< Node > | GetChildMutable (ART &art, const uint8_t byte, const bool unsafe=false) const |
| | Get the child at byte.
|
| |
|
const unsafe_optional_ptr< Node > | GetNextChild (ART &art, uint8_t &byte) const |
| | Get the first immutable child greater than or equal to the byte.
|
| |
|
bool | HasByte (ART &art, const uint8_t byte) const |
| | Returns true, if the byte exists, else false.
|
| |
|
bool | GetNextByte (ART &art, uint8_t &byte) const |
| | Get the first byte greater than or equal to the byte.
|
| |
|
void | Verify (ART &art) const |
| | Traverses and verifies the node.
|
| |
|
void | VerifyAllocations (ART &art, unordered_map< uint8_t, idx_t > &node_counts) const |
| | Counts each node type.
|
| |
| string | ToString (ART &art, const ToStringOptions &options) const |
| |
| NType | GetType () const |
| | Returns the node type.
|
| |
|
bool | IsNode () const |
| | True, if the node is a Node4, Node16, Node48, or Node256.
|
| |
|
bool | IsLeafNode () const |
| | True, if the node is a Node7Leaf, Node15Leaf, or Node256Leaf.
|
| |
|
bool | IsAnyLeaf () const |
| | True, if the node is any leaf.
|
| |
| row_t | GetRowId () const |
| | Get the row ID (8th to 63rd bit).
|
| |
| void | SetRowId (const row_t row_id) |
| | Set the row ID (8th to 63rd bit).
|
| |
| GateStatus | GetGateStatus () const |
| | Returns the gate status of a node.
|
| |
| void | SetGateStatus (const GateStatus status) |
| | Sets the gate status of a node.
|
| |
| void | operator= (const IndexPointer &ptr) |
| | Assign operator.
|
| |
| | IndexPointer () |
| | Constructs an empty IndexPointer.
|
| |
| | IndexPointer (const uint32_t buffer_id, const uint32_t offset) |
| | Constructs an in-memory IndexPointer with a buffer ID and an offset.
|
| |
| idx_t | Get () const |
| | Get data (all 64 bits)
|
| |
| void | Set (const idx_t data_p) |
| | Set data (all 64 bits)
|
| |
| bool | HasMetadata () const |
| | Returns false, if the metadata is empty.
|
| |
| uint8_t | GetMetadata () const |
| | Get metadata (Bits 56-63)
|
| |
| void | SetMetadata (const uint8_t metadata) |
| | Set metadata (Bits 56-63)
|
| |
| idx_t | GetOffset () const |
| | Get the offset (Bits 32-55)
|
| |
| idx_t | GetBufferId () const |
| | Get the buffer ID (Bits 0-31)
|
| |
| void | Clear () |
| | Resets the IndexPointer.
|
| |
| void | IncreaseBufferId (const idx_t summand) |
| | Adds an idx_t to a buffer ID, the rightmost 32 bits of data (Bits 0-31) contain the buffer ID.
|
| |
| bool | operator== (const IndexPointer &ptr) const |
| | Comparison operator.
|
| |
|
|
static void | New (ART &art, Node &node, const NType type) |
| | Get a new pointer to a node and initialize it.
|
| |
|
static void | FreeNode (ART &art, Node &node) |
| | Free the node.
|
| |
|
static void | FreeTree (ART &art, Node &node) |
| | Free the node and its children.
|
| |
|
static FixedSizeAllocator & | GetAllocator (const ART &art, const NType type) |
| | Get a reference to the allocator.
|
| |
|
static uint8_t | GetAllocatorIdx (const NType type) |
| | Get the index of a node type's allocator.
|
| |
| template<class NODE > |
| static NODE & | Ref (const ART &art, const Node ptr, const NType type) |
| | Get a reference to a node.
|
| |
| template<class NODE > |
| static unsafe_optional_ptr< NODE > | InMemoryRef (const ART &art, const Node ptr, const NType type) |
| | Get a node pointer, if the node is in memory, else nullptr.
|
| |
|
static void | InsertChild (ART &art, Node &node, const uint8_t byte, const Node child=Node()) |
| | Insert the child at byte.
|
| |
|
static void | DeleteChild (ART &art, Node &node, Node &prefix, const uint8_t byte, const GateStatus status, const ARTKey &row_id) |
| | Delete the child at byte.
|
| |
|
static NType | GetNodeType (const idx_t count) |
| | Returns the node type for a count.
|
| |
|
static void | TransformToDeprecated (ART &art, Node &node, TransformToDeprecatedState &state) |
| | Transform the node storage to deprecated storage.
|
| |
The Node is the pointer class of the ART index. It inherits from the IndexPointer, and adds ART-specific functionality.