![]() |
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.
|
The physical plan generator generates a physical execution plan from a logical query plan. More...
#include <duckdb.hpp>

Public Member Functions | |
| PhysicalPlanGenerator (ClientContext &context) | |
| unique_ptr< PhysicalPlan > | Plan (unique_ptr< LogicalOperator > logical) |
| PhysicalOperator & | CreatePlan (LogicalOperator &op) |
| template<class T , class... ARGS> | |
| PhysicalOperator & | Make (ARGS &&... args) |
| Make a physical operator in the physical plan. | |
| ArenaAllocator & | ArenaRef () |
| PhysicalOperator & | ResolveDefaultsProjection (LogicalInsert &op, PhysicalOperator &child) |
Static Public Member Functions | |
| static bool | UseBatchIndex (ClientContext &context, PhysicalOperator &plan) |
| Whether or not we can (or should) use a batch-index based operator for executing the given sink. | |
| static bool | PreserveInsertionOrder (ClientContext &context, PhysicalOperator &plan) |
| Whether or not we should preserve insertion order for executing the given sink. | |
| static OrderPreservationType | OrderPreservationRecursive (PhysicalOperator &op) |
| The order preservation type of the given operator decided by recursively looking at its children. | |
Public Attributes | |
| LogicalDependencyList | dependencies |
| unordered_map< idx_t, shared_ptr< ColumnDataCollection > > | recursive_cte_tables |
| unordered_map< idx_t, shared_ptr< ColumnDataCollection > > | recurring_cte_tables |
| Used to reference the recurring tables. | |
| unordered_map< idx_t, vector< const_reference< PhysicalOperator > > > | materialized_ctes |
| Materialized CTE ids must be collected. | |
| idx_t | delim_index = 0 |
| The index for duplicate eliminated joins. | |
Private Member Functions | |
| PhysicalOperator & | ResolveAndPlan (unique_ptr< LogicalOperator > logical) |
| unique_ptr< PhysicalPlan > | PlanInternal (LogicalOperator &logical) |
| bool | PreserveInsertionOrder (PhysicalOperator &plan) |
| bool | UseBatchIndex (PhysicalOperator &plan) |
| optional_ptr< PhysicalOperator > | PlanAsOfLoopJoin (LogicalComparisonJoin &op, PhysicalOperator &probe, PhysicalOperator &build) |
Private Attributes | |
| ClientContext & | context |
| unique_ptr< PhysicalPlan > | physical_plan |
The physical plan generator generates a physical execution plan from a logical query plan.
| unique_ptr< PhysicalPlan > duckdb::PhysicalPlanGenerator::Plan | ( | unique_ptr< LogicalOperator > | logical | ) |
Creates and returns the physical plan from the logical operator. Performs a verification pass.
|
inline |
Make a physical operator in the physical plan.
| ArenaAllocator & duckdb::PhysicalPlanGenerator::ArenaRef | ( | ) |
Get a reference to the ArenaAllocator of the underlying physical plan. Creates a new (empty) physical plan if none exists yet.
| unordered_map<idx_t, shared_ptr<ColumnDataCollection> > duckdb::PhysicalPlanGenerator::recursive_cte_tables |
Recursive CTEs require at least one ChunkScan, referencing the working_table. This data structure is used to establish it.