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

Public Member Functions

 RelationManager (ClientContext &context)
 
idx_t NumRelations ()
 
bool ExtractJoinRelations (JoinOrderOptimizer &optimizer, LogicalOperator &input_op, vector< reference< LogicalOperator > > &filter_operators, optional_ptr< LogicalOperator > parent=nullptr)
 
vector< unique_ptr< FilterInfo > > ExtractEdges (LogicalOperator &op, vector< reference< LogicalOperator > > &filter_operators, JoinRelationSetManager &set_manager)
 
bool ExtractBindings (Expression &expression, unordered_set< idx_t > &bindings)
 Extract the set of relations referred to inside an expression.
 
void AddRelation (LogicalOperator &op, optional_ptr< LogicalOperator > parent, const RelationStats &stats)
 
void AddRelationWithChildren (JoinOrderOptimizer &optimizer, LogicalOperator &op, LogicalOperator &input_op, optional_ptr< LogicalOperator > parent, RelationStats &child_stats, optional_ptr< LogicalOperator > limit_op, vector< reference< LogicalOperator > > &datasource_filters)
 Add an unnest relation which can come from a logical unnest or a logical get which has an unnest function.
 
void AddAggregateOrWindowRelation (LogicalOperator &op, optional_ptr< LogicalOperator > parent, const RelationStats &stats, LogicalOperatorType op_type)
 
vector< unique_ptr< SingleJoinRelation > > GetRelations ()
 
const vector< RelationStatsGetRelationStats ()
 
bool CrossProductWithRelationAllowed (idx_t relation_id)
 
void PrintRelationStats ()
 

Public Attributes

unordered_map< idx_t, idx_trelation_mapping
 A mapping of base table index -> index into relations array (relation number)
 

Private Attributes

ClientContextcontext
 
vector< unique_ptr< SingleJoinRelation > > relations
 Set of all relations considered in the join optimizer.
 
unordered_set< idx_tno_cross_product_relations
 

Constructor & Destructor Documentation

◆ RelationManager()

duckdb::RelationManager::RelationManager ( ClientContext context)
inlineexplicit
21616 : context(context) {
21617 }

Member Function Documentation

◆ ExtractEdges()

vector< unique_ptr< FilterInfo > > duckdb::RelationManager::ExtractEdges ( LogicalOperator op,
vector< reference< LogicalOperator > > &  filter_operators,
JoinRelationSetManager set_manager 
)

for each join filter in the logical plan op, extract the relations that are referred to on both sides of the join filter, along with the tables & indexes.


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