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::ExpressionRewriter Class Reference

The ExpressionRewriter performs a set of fixed rewrite rules on the expressions that occur in a SQL statement. More...

Inheritance diagram for duckdb::ExpressionRewriter:
Collaboration diagram for duckdb::ExpressionRewriter:

Public Member Functions

 ExpressionRewriter (ClientContext &context)
 
void VisitOperator (LogicalOperator &op) override
 
void VisitExpression (unique_ptr< Expression > *expression) override
 

Static Public Member Functions

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

Public Attributes

vector< unique_ptr< Rule > > rules
 The set of rules as known by the Expression Rewriter.
 
ClientContextcontext
 

Static Private Member Functions

static unique_ptr< ExpressionApplyRules (LogicalOperator &op, const vector< reference< Rule > > &rules, unique_ptr< Expression > expr, bool &changes_made, bool is_root=false)
 Apply a set of rules to a specific expression.
 

Private Attributes

optional_ptr< LogicalOperatorop
 
vector< reference< Rule > > to_apply_rules
 

Additional Inherited Members

- 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 (BoundColumnRefExpression &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 (BoundReferenceExpression &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)
 

Detailed Description

The ExpressionRewriter performs a set of fixed rewrite rules on the expressions that occur in a SQL statement.

Constructor & Destructor Documentation

◆ ExpressionRewriter()

duckdb::ExpressionRewriter::ExpressionRewriter ( ClientContext context)
inlineexplicit
69584 : context(context) {
69585 }

Member Function Documentation

◆ VisitOperator()

void duckdb::ExpressionRewriter::VisitOperator ( LogicalOperator op)
overridevirtual

Reimplemented from duckdb::LogicalOperatorVisitor.

◆ VisitExpression()

void duckdb::ExpressionRewriter::VisitExpression ( unique_ptr< Expression > *  expression)
overridevirtual

Reimplemented from duckdb::LogicalOperatorVisitor.


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