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:1156
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
bool FinalizePlanForQueryBlock(THD *thd, Query_block *query_block)
Definition: finalize_plan.cc:656
void FindSargablePredicates(THD *thd, std::string *trace, JoinHypergraph *graph)
void EstimateAggregateCost(AccessPath *path)
void EstimateMaterializeCost(THD *thd, AccessPath *path)
Definition: cost_model.cc:179
AccessPath * FindBestQueryPlan(THD *thd, Query_block *query_block, std::string *trace)
The main entry point for the hypergraph join optimizer; takes in a query block and returns an access ...
static char * path
Definition: mysqldump.cc:137
Access paths are a query planning structure that correspond 1:1 to iterators, in that an access path ...
Definition: access_path.h:193
A struct containing a join hypergraph of a single query block, encapsulating the constraints given by...
Definition: make_join_hypergraph.h:77
hypergraph::Hypergraph graph
Definition: make_join_hypergraph.h:86
const Query_block * query_block() const
Returns a pointer to the query block that is being planned.
Definition: make_join_hypergraph.h:147