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

Public Member Functions

void RemoveEmptyTotalDomains ()
 
void UpdateTotalDomains (optional_ptr< JoinRelationSet > set, RelationStats &stats)
 
void InitEquivalentRelations (const vector< unique_ptr< FilterInfo > > &filter_infos)
 
void InitCardinalityEstimatorProps (optional_ptr< JoinRelationSet > set, RelationStats &stats)
 
template<class T >
EstimateCardinalityWithSet (JoinRelationSet &new_set)
 
void AddRelationNamesToRelationStats (vector< RelationStats > &stats)
 used for debugging.
 
void PrintRelationStats ()
 

Static Public Attributes

static constexpr double DEFAULT_SEMI_ANTI_SELECTIVITY = 5
 

Private Member Functions

double GetNumerator (JoinRelationSet &set)
 
DenomInfo GetDenominator (JoinRelationSet &set)
 
bool SingleColumnFilter (FilterInfo &filter_info)
 
vector< idx_tDetermineMatchingEquivalentSets (optional_ptr< FilterInfo > filter_info)
 
void AddToEquivalenceSets (optional_ptr< FilterInfo > filter_info, vector< idx_t > matching_equivalent_sets)
 
double CalculateUpdatedDenom (Subgraph2Denominator left, Subgraph2Denominator right, FilterInfoWithTotalDomains &filter)
 
JoinRelationSetUpdateNumeratorRelations (Subgraph2Denominator left, Subgraph2Denominator right, FilterInfoWithTotalDomains &filter)
 
void AddRelationStats (FilterInfo &filter_info)
 
bool EmptyFilter (FilterInfo &filter_info)
 

Private Attributes

vector< RelationsSetToStatsrelation_set_stats
 
unordered_map< string, CardinalityHelperrelation_set_2_cardinality
 
JoinRelationSetManager set_manager
 
vector< RelationStatsrelation_stats
 

Constructor & Destructor Documentation

◆ CardinalityEstimator()

duckdb::CardinalityEstimator::CardinalityEstimator ( )
inlineexplicit
21496{};

Member Function Documentation

◆ EstimateCardinalityWithSet()

template<class T >
T duckdb::CardinalityEstimator::EstimateCardinalityWithSet ( JoinRelationSet new_set)

cost model needs estimated cardinalities to the fraction since the formula captures distinct count selectivities and multiplicities. Hence the template

◆ AddToEquivalenceSets()

void duckdb::CardinalityEstimator::AddToEquivalenceSets ( optional_ptr< FilterInfo filter_info,
vector< idx_t matching_equivalent_sets 
)
private

Given a filter, add the column bindings to the matching equivalent set at the index given in matching equivalent sets. If there are multiple equivalence sets, they are merged.


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