24#ifndef SQL_RANGE_OPTIMIZER_INDEX_RANGE_SCAN_PLAN_H_
25#define SQL_RANGE_OPTIMIZER_INDEX_RANGE_SCAN_PLAN_H_
46 uint num_key_parts,
unsigned *used_key_parts,
83 SEL_TREE *tree,
bool index_read_must_be_used,
84 bool update_tbl_stats,
86 bool skip_records_in_range,
double cost_est,
87 bool ror_only,
Key_map *needed_reg);
124 bool update_tbl_stats,
enum_order order_direction,
125 bool skip_records_in_range, uint *mrr_flags,
127 bool *is_ror_scan,
bool *is_imerge_scan);
Definition: sql_bitmap.h:154
A wrapper class which provides array bounds checking.
Definition: sql_array.h:47
Used to store optimizer cost estimates.
Definition: handler.h:3877
A JSON object (unordered set of key/value pairs).
Definition: opt_trace.h:802
Definition: range_opt_param.h:29
A graph of (possible multiple) key ranges, represented as a red-black binary tree.
Definition: tree.h:68
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
ha_rows check_quick_select(THD *thd, RANGE_OPT_PARAM *param, uint idx, bool index_only, SEL_ROOT *tree, bool update_tbl_stats, enum_order order_direction, bool skip_records_in_range, uint *mrr_flags, uint *bufsize, Cost_estimate *cost, bool *is_ror_scan, bool *is_imerge_scan)
Definition: index_range_scan_plan.cc:568
void trace_basic_info_index_range_scan(THD *thd, const AccessPath *path, const RANGE_OPT_PARAM *param, Opt_trace_object *trace_object)
Definition: index_range_scan_plan.cc:796
AccessPath * get_key_scans_params(THD *thd, RANGE_OPT_PARAM *param, SEL_TREE *tree, bool index_read_must_be_used, bool update_tbl_stats, enum_order interesting_order, bool skip_records_in_range, double cost_est, bool ror_only, Key_map *needed_reg)
Definition: index_range_scan_plan.cc:822
void dbug_dump_range(int indent, bool verbose, TABLE *table, int index, KEY_PART *used_key_part, Bounds_checked_array< QUICK_RANGE * > ranges)
Definition: index_range_scan_plan.cc:1314
bool get_ranges_from_tree(MEM_ROOT *return_mem_root, TABLE *table, KEY_PART *key, uint keyno, SEL_ROOT *key_tree, uint num_key_parts, unsigned *used_key_parts, unsigned *num_exact_key_parts, Quick_ranges *ranges)
Definition: index_range_scan_plan.cc:774
enum_order
Definition: key_spec.h:65
my_off_t ha_rows
Definition: my_base.h:1141
static uint verbose
Definition: mysqlcheck.cc:66
static char * path
Definition: mysqldump.cc:149
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
required string key
Definition: replication_asynchronous_connection_failover.proto:60
File containing constants that can be used throughout the server.
Access paths are a query planning structure that correspond 1:1 to iterators, in that an access path ...
Definition: access_path.h:227
Definition: range_optimizer.h:55
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83