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::BaseColumnPruner Class Reference
Inheritance diagram for duckdb::BaseColumnPruner:
Collaboration diagram for duckdb::BaseColumnPruner:

Protected Member Functions

void VisitExpression (unique_ptr< Expression > *expression) override
 
unique_ptr< ExpressionVisitReplace (BoundColumnRefExpression &expr, unique_ptr< Expression > *expr_ptr) override
 
unique_ptr< ExpressionVisitReplace (BoundReferenceExpression &expr, unique_ptr< Expression > *expr_ptr) override
 
void AddBinding (BoundColumnRefExpression &col)
 Add a reference to the column in its entirey.
 
void AddBinding (BoundColumnRefExpression &col, ColumnIndex child_column)
 Add a reference to a sub-section of the column.
 
void AddBinding (BoundColumnRefExpression &col, ColumnIndex child_column, const vector< ReferencedExtractComponent > &parent)
 Add a reference to a sub-section of the column used in a struct extract, with the parent expression.
 
idx_t ReplaceBinding (ColumnBinding current_binding, ColumnBinding new_binding)
 
bool HandleExtractExpression (unique_ptr< Expression > *expression, optional_ptr< unique_ptr< Expression > > cast_expression=nullptr)
 
bool HandleStructExtract (unique_ptr< Expression > &expr, optional_ptr< BoundColumnRefExpression > &colref, reference< ColumnIndex > &path_ref, vector< ReferencedExtractComponent > &expressions)
 
bool HandleVariantExtract (unique_ptr< Expression > &expr, optional_ptr< BoundColumnRefExpression > &colref, reference< ColumnIndex > &path_ref, vector< ReferencedExtractComponent > &expressions)
 
bool HandleExtractRecursive (unique_ptr< Expression > &expr, optional_ptr< BoundColumnRefExpression > &colref, reference< ColumnIndex > &path_ref, vector< ReferencedExtractComponent > &expressions)
 
void SetMode (BaseColumnPrunerMode mode)
 
BaseColumnPrunerMode GetMode () const
 
- Protected Member Functions inherited from duckdb::LogicalOperatorVisitor
void VisitOperatorChildren (LogicalOperator &op)
 
void VisitOperatorExpressions (LogicalOperator &op)
 
void VisitOperatorWithProjectionMapChildren (LogicalOperator &op)
 Alternatives for VisitOperatorChildren for operators that have a projection map.
 
void VisitChildOfOperatorWithProjectionMap (LogicalOperator &child, vector< idx_t > &projection_map)
 
virtual void VisitExpressionChildren (Expression &expression)
 
virtual unique_ptr< ExpressionVisitReplace (BoundAggregateExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundBetweenExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundCaseExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundCastExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundComparisonExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundConjunctionExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundConstantExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundDefaultExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundFunctionExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundOperatorExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundSubqueryExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundParameterExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundWindowExpression &expr, unique_ptr< Expression > *expr_ptr)
 
virtual unique_ptr< ExpressionVisitReplace (BoundUnnestExpression &expr, unique_ptr< Expression > *expr_ptr)
 

Protected Attributes

column_binding_map_t< ReferencedColumncolumn_references
 The map of column references.
 

Private Member Functions

void MergeChildColumns (vector< ColumnIndex > &current_child_columns, ColumnIndex &new_child_column)
 

Private Attributes

BaseColumnPrunerMode mode = BaseColumnPrunerMode::DEFAULT
 The current mode of the pruner, enables/disables certain behaviors.
 

Additional Inherited Members

- Public Member Functions inherited from duckdb::LogicalOperatorVisitor
virtual void VisitOperator (LogicalOperator &op)
 
- Static Public Member Functions inherited from duckdb::LogicalOperatorVisitor
static void EnumerateExpressions (LogicalOperator &op, const std::function< void(unique_ptr< Expression > *child)> &callback)
 

Member Function Documentation

◆ VisitExpression()

void duckdb::BaseColumnPruner::VisitExpression ( unique_ptr< Expression > *  expression)
overrideprotectedvirtual

Reimplemented from duckdb::LogicalOperatorVisitor.

◆ VisitReplace() [1/2]

unique_ptr< Expression > duckdb::BaseColumnPruner::VisitReplace ( BoundColumnRefExpression expr,
unique_ptr< Expression > *  expr_ptr 
)
overrideprotectedvirtual

Reimplemented from duckdb::LogicalOperatorVisitor.

◆ VisitReplace() [2/2]

unique_ptr< Expression > duckdb::BaseColumnPruner::VisitReplace ( BoundReferenceExpression expr,
unique_ptr< Expression > *  expr_ptr 
)
overrideprotectedvirtual

Reimplemented from duckdb::LogicalOperatorVisitor.

◆ ReplaceBinding()

idx_t duckdb::BaseColumnPruner::ReplaceBinding ( ColumnBinding  current_binding,
ColumnBinding  new_binding 
)
protected

Perform a replacement of the ColumnBinding, iterating over all the currently found column references and replacing the bindings ret: The amount of bindings created


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