Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::Leaf Class Reference
Collaboration diagram for duckdb::Leaf:

Public Member Functions

 Leaf (const Leaf &)=delete
 
Leafoperator= (const Leaf &)=delete
 
void DeprecatedVerifyAllocations (ART &art, unordered_map< uint8_t, idx_t > &node_counts) const
 Count the number of leaves.
 

Static Public Member Functions

static void New (Node &node, const row_t row_id)
 Inline a row ID into a node pointer.
 
static void MergeInlined (ArenaAllocator &arena, ART &art, Node &left, Node &right, GateStatus status, idx_t depth)
 Merge two inlined leaf nodes.
 
static void TransformToNested (ART &art, Node &node)
 Transforms a deprecated leaf to a nested leaf.
 
static void TransformToDeprecated (ART &art, Node &node)
 Transforms a nested leaf to a deprecated leaf.
 
static void DeprecatedFree (ART &art, Node &node)
 Frees the linked list of leaves.
 
static bool DeprecatedGetRowIds (ART &art, const Node &node, set< row_t > &row_ids, const idx_t max_count)
 
static void DeprecatedVacuum (ART &art, Node &node)
 Vacuums the linked list of leaves.
 
static void DeprecatedVerify (ART &art, const Node &node)
 Traverses and verifies the linked list of leaves.
 
static string DeprecatedToString (ART &art, const Node &node, const ToStringOptions &options)
 

Static Public Attributes

static constexpr NType LEAF = NType::LEAF
 
static constexpr NType INLINED = NType::LEAF_INLINED
 
static constexpr uint8_t LEAF_SIZE = 4
 

Private Attributes

uint8_t count
 
row_t row_ids [LEAF_SIZE]
 
Node ptr
 

Detailed Description

There are three types of leaves.

  1. LEAF_INLINED: Inlines a row ID in a Node pointer.
  2. LEAF: Deprecated. A list of Leaf nodes containing row IDs.
  3. Nested leaves indicated by gate nodes. If an ART key contains multiple row IDs, then we use the row IDs as keys and create a nested ART behind the gate node. As row IDs are always unique, these nested ARTs never contain duplicates themselves.

Member Function Documentation

◆ DeprecatedGetRowIds()

static bool duckdb::Leaf::DeprecatedGetRowIds ( ART art,
const Node node,
set< row_t > &  row_ids,
const idx_t  max_count 
)
static

Fills the row_ids vector with the row IDs of this linked list of leaves. Never pushes more than max_count row IDs.

◆ DeprecatedToString()

static string duckdb::Leaf::DeprecatedToString ( ART art,
const Node node,
const ToStringOptions options 
)
static

Return string representation of the linked list of leaves. If print_deprecated_leaves is false, returns "[deprecated leaves]" with proper indentation.


The documentation for this class was generated from the following file: