MySQL 9.6.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 Member Functions

 AccessPathSet (const JoinHypergraph &graph, NodeMap nodes, FunctionalDependencySet functional_dependencies, OrderingSet obsolete_orderings_arg)
 

Public Attributes

AccessPathArray paths {PSI_NOT_INSTRUMENTED}
 
FunctionalDependencySet active_functional_dependencies {0}
 
OrderingSet obsolete_orderings {0}
 
NodeMap reachable_nodes {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.

Constructor & Destructor Documentation

◆ AccessPathSet()

anonymous_namespace{join_optimizer.cc}::CostingReceiver::AccessPathSet::AccessPathSet ( const JoinHypergraph graph,
NodeMap  nodes,
FunctionalDependencySet  functional_dependencies,
OrderingSet  obsolete_orderings_arg 
)
inline

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

AccessPathArray anonymous_namespace{join_optimizer.cc}::CostingReceiver::AccessPathSet::paths {PSI_NOT_INSTRUMENTED}

◆ reachable_nodes

NodeMap anonymous_namespace{join_optimizer.cc}::CostingReceiver::AccessPathSet::reachable_nodes {0}

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