24#ifndef SQL_JOIN_OPTIMIZER_JOIN_OPTIMIZER_H
25#define SQL_JOIN_OPTIMIZER_JOIN_OPTIMIZER_H
This class represents a query block, aka a query specification, which is a query consisting of a SELE...
Definition: sql_lex.h:1163
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
bool FinalizePlanForQueryBlock(THD *thd, Query_block *query_block)
Definition: finalize_plan.cc:663
void EstimateAggregateCost(AccessPath *path)
AccessPath * FindBestQueryPlan(THD *thd, Query_block *query_block)
The main entry point for the hypergraph join optimizer; takes in a query block and returns an access ...
Definition: join_optimizer.cc:8255
void EstimateMaterializeCost(THD *thd, AccessPath *path)
Definition: cost_model.cc:209
void FindSargablePredicates(THD *thd, JoinHypergraph *graph)
Definition: join_optimizer.cc:7431
static char * path
Definition: mysqldump.cc:149
Access paths are a query planning structure that correspond 1:1 to iterators, in that an access path ...
Definition: access_path.h:213
A struct containing a join hypergraph of a single query block, encapsulating the constraints given by...
Definition: make_join_hypergraph.h:88
hypergraph::Hypergraph graph
Definition: make_join_hypergraph.h:97
const Query_block * query_block() const
Returns a pointer to the query block that is being planned.
Definition: make_join_hypergraph.h:207