MySQL 8.3.0
Source Code Documentation
anonymous_namespace{join_optimizer.cc}::CostingReceiver::AccessPathSet Struct Reference

Besides the access paths for a set of nodes (see m_access_paths), AccessPathSet contains information that is common between all access paths for that set. More...

Public Attributes

Prealloced_array< AccessPath *, 4 > paths
 
FunctionalDependencySet active_functional_dependencies {0}
 
OrderingSet obsolete_orderings {0}
 
bool always_empty {false}
 

Detailed Description

Besides the access paths for a set of nodes (see m_access_paths), AccessPathSet contains information that is common between all access paths for that set.

One would believe num_output_rows would be such a member (a set of tables should produce the same number of output rows no matter the join order), but due to parameterized paths, different access paths could have different outputs. delayed_predicates is another, but currently, it's already efficiently hidden space-wise due to the use of a union.

Member Data Documentation

◆ active_functional_dependencies

FunctionalDependencySet anonymous_namespace{join_optimizer.cc}::CostingReceiver::AccessPathSet::active_functional_dependencies {0}

◆ always_empty

bool anonymous_namespace{join_optimizer.cc}::CostingReceiver::AccessPathSet::always_empty {false}

◆ obsolete_orderings

OrderingSet anonymous_namespace{join_optimizer.cc}::CostingReceiver::AccessPathSet::obsolete_orderings {0}

◆ paths

Prealloced_array<AccessPath *, 4> anonymous_namespace{join_optimizer.cc}::CostingReceiver::AccessPathSet::paths

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