|
void | CopyBasicProperties (const AccessPath &from, AccessPath *to) |
|
AccessPath * | NewTableScanAccessPath (THD *thd, TABLE *table, bool count_examined_rows) |
|
AccessPath * | NewIndexScanAccessPath (THD *thd, TABLE *table, int idx, bool use_order, bool reverse, bool count_examined_rows) |
|
AccessPath * | NewRefAccessPath (THD *thd, TABLE *table, Index_lookup *ref, bool use_order, bool reverse, bool count_examined_rows) |
|
AccessPath * | NewRefOrNullAccessPath (THD *thd, TABLE *table, Index_lookup *ref, bool use_order, bool count_examined_rows) |
|
AccessPath * | NewEQRefAccessPath (THD *thd, TABLE *table, Index_lookup *ref, bool count_examined_rows) |
|
AccessPath * | NewPushedJoinRefAccessPath (THD *thd, TABLE *table, Index_lookup *ref, bool use_order, bool is_unique, bool count_examined_rows) |
|
AccessPath * | NewFullTextSearchAccessPath (THD *thd, TABLE *table, Index_lookup *ref, Item_func_match *ft_func, bool use_order, bool use_limit, bool count_examined_rows) |
|
AccessPath * | NewConstTableAccessPath (THD *thd, TABLE *table, Index_lookup *ref, bool count_examined_rows) |
|
AccessPath * | NewMRRAccessPath (THD *thd, TABLE *table, Index_lookup *ref, int mrr_flags) |
|
AccessPath * | NewFollowTailAccessPath (THD *thd, TABLE *table, bool count_examined_rows) |
|
AccessPath * | NewDynamicIndexRangeScanAccessPath (THD *thd, TABLE *table, QEP_TAB *qep_tab, bool count_examined_rows) |
|
AccessPath * | NewMaterializedTableFunctionAccessPath (THD *thd, TABLE *table, Table_function *table_function, AccessPath *table_path) |
|
AccessPath * | NewUnqualifiedCountAccessPath (THD *thd) |
|
AccessPath * | NewTableValueConstructorAccessPath (THD *thd) |
|
AccessPath * | NewNestedLoopSemiJoinWithDuplicateRemovalAccessPath (THD *thd, AccessPath *outer, AccessPath *inner, const TABLE *table, KEY *key, size_t key_len) |
|
AccessPath * | NewFilterAccessPath (THD *thd, AccessPath *child, Item *condition) |
|
AccessPath * | NewSortAccessPath (THD *thd, AccessPath *child, Filesort *filesort, ORDER *order, bool count_examined_rows) |
|
AccessPath * | NewAggregateAccessPath (THD *thd, AccessPath *child, bool rollup) |
|
AccessPath * | NewTemptableAggregateAccessPath (THD *thd, AccessPath *subquery_path, Temp_table_param *temp_table_param, TABLE *table, AccessPath *table_path, int ref_slice) |
|
AccessPath * | NewLimitOffsetAccessPath (THD *thd, AccessPath *child, ha_rows limit, ha_rows offset, bool count_all_rows, bool reject_multiple_rows, ha_rows *send_records_override) |
|
AccessPath * | NewFakeSingleRowAccessPath (THD *thd, bool count_examined_rows) |
|
AccessPath * | NewZeroRowsAccessPath (THD *thd, AccessPath *child, const char *cause) |
|
AccessPath * | NewZeroRowsAccessPath (THD *thd, const char *cause) |
|
AccessPath * | NewZeroRowsAggregatedAccessPath (THD *thd, const char *cause) |
|
AccessPath * | NewStreamingAccessPath (THD *thd, AccessPath *child, JOIN *join, Temp_table_param *temp_table_param, TABLE *table, int ref_slice) |
|
Mem_root_array< MaterializePathParameters::QueryBlock > | SingleMaterializeQueryBlock (THD *thd, AccessPath *path, int select_number, JOIN *join, bool copy_items, Temp_table_param *temp_table_param) |
|
AccessPath * | NewMaterializeAccessPath (THD *thd, Mem_root_array< MaterializePathParameters::QueryBlock > query_blocks, Mem_root_array< const AccessPath * > *invalidators, TABLE *table, AccessPath *table_path, Common_table_expr *cte, Query_expression *unit, int ref_slice, bool rematerialize, ha_rows limit_rows, bool reject_multiple_rows) |
|
AccessPath * | NewMaterializeInformationSchemaTableAccessPath (THD *thd, AccessPath *table_path, Table_ref *table_list, Item *condition) |
|
AccessPath * | NewAppendAccessPath (THD *thd, Mem_root_array< AppendPathParameters > *children) |
|
AccessPath * | NewWindowAccessPath (THD *thd, AccessPath *child, Window *window, Temp_table_param *temp_table_param, int ref_slice, bool needs_buffering) |
|
AccessPath * | NewWeedoutAccessPath (THD *thd, AccessPath *child, SJ_TMP_TABLE *weedout_table) |
|
AccessPath * | NewRemoveDuplicatesAccessPath (THD *thd, AccessPath *child, Item **group_items, int group_items_size) |
|
AccessPath * | NewRemoveDuplicatesOnIndexAccessPath (THD *thd, AccessPath *child, TABLE *table, KEY *key, unsigned loosescan_key_len) |
|
AccessPath * | NewAlternativeAccessPath (THD *thd, AccessPath *child, AccessPath *table_scan_path, Index_lookup *used_ref) |
|
AccessPath * | NewInvalidatorAccessPath (THD *thd, AccessPath *child, const char *name) |
|
AccessPath * | NewDeleteRowsAccessPath (THD *thd, AccessPath *child, table_map delete_tables, table_map immediate_tables) |
|
AccessPath * | NewUpdateRowsAccessPath (THD *thd, AccessPath *child, table_map delete_tables, table_map immediate_tables) |
|
void | FindTablesToGetRowidFor (AccessPath *path) |
| Modifies "path" and the paths below it so that they provide row IDs for all tables. More...
|
|
bool | FinalizeMaterializedSubqueries (THD *thd, JOIN *join, AccessPath *path) |
| If the path is a FILTER path marked that subqueries are to be materialized, do so. More...
|
|
unique_ptr_destroy_only< RowIterator > | CreateIteratorFromAccessPath (THD *thd, MEM_ROOT *mem_root, AccessPath *path, JOIN *join, bool eligible_for_batch_mode) |
|
unique_ptr_destroy_only< RowIterator > | CreateIteratorFromAccessPath (THD *thd, AccessPath *path, JOIN *join, bool eligible_for_batch_mode) |
|
void | SetCostOnTableAccessPath (const Cost_model_server &cost_model, const POSITION *pos, bool is_after_filter, AccessPath *path) |
|
TABLE * | GetBasicTable (const AccessPath *path) |
| Return the TABLE* referred from 'path' if it is a basic access path, else a nullptr is returned. More...
|
|
table_map | GetUsedTableMap (const AccessPath *path, bool include_pruned_tables) |
| Returns a map of all tables read when path or any of its children are executed. More...
|
|
Mem_root_array< TABLE * > | CollectTables (THD *thd, AccessPath *root_path) |
| Find the list of all tables used by this root, stopping at materializations. More...
|
|
void | ExpandFilterAccessPaths (THD *thd, AccessPath *path, const JOIN *join, const Mem_root_array< Predicate > &predicates, unsigned num_where_predicates) |
| For each access path in the (sub)tree rooted at “path”, expand any use of “filter_predicates” into newly-inserted FILTER access paths, using the given predicate list. More...
|
|
Item * | ConditionFromFilterPredicates (const Mem_root_array< Predicate > &predicates, OverflowBitset mask, int num_where_predicates) |
| Extracts the Item expression from the given “filter_predicates” corresponding to the given “mask”. More...
|
|
void | ExpandSingleFilterAccessPath (THD *thd, AccessPath *path, const JOIN *join, const Mem_root_array< Predicate > &predicates, unsigned num_where_predicates) |
| Like ExpandFilterAccessPaths(), but expands only the single access path at “path”. More...
|
|
table_map | GetHashJoinTables (AccessPath *path) |
| Returns the tables that are part of a hash join. More...
|
|