23#ifndef SQL_RANGE_OPTIMIZER_INDEX_RANGE_SCAN_PLAN_H_
24#define SQL_RANGE_OPTIMIZER_INDEX_RANGE_SCAN_PLAN_H_
45 uint num_key_parts,
unsigned *used_key_parts,
82 SEL_TREE *tree,
bool index_read_must_be_used,
83 bool update_tbl_stats,
85 bool skip_records_in_range,
double cost_est,
86 bool ror_only,
Key_map *needed_reg);
123 bool update_tbl_stats,
enum_order order_direction,
124 bool skip_records_in_range, uint *mrr_flags,
126 bool *is_ror_scan,
bool *is_imerge_scan);
Definition: sql_bitmap.h:144
A wrapper class which provides array bounds checking.
Definition: sql_array.h:46
Used to store optimizer cost estimates.
Definition: handler.h:3752
A JSON object (unordered set of key/value pairs).
Definition: opt_trace.h:798
Definition: range_opt_param.h:28
A graph of (possible multiple) key ranges, represented as a red-black binary tree.
Definition: tree.h:67
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
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:567
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:793
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:819
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:1311
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:771
enum_order
Definition: key_spec.h:64
my_off_t ha_rows
Definition: my_base.h:1139
static uint verbose
Definition: mysqlcheck.cc:65
static char * path
Definition: mysqldump.cc:140
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
required string key
Definition: replication_asynchronous_connection_failover.proto:59
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:193
Definition: range_optimizer.h:54
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:82