24#ifndef SQL_RANGE_OPTIMIZER_INDEX_SKIP_SCAN_H_ 
   25#define SQL_RANGE_OPTIMIZER_INDEX_SKIP_SCAN_H_ 
Used to store optimizer cost estimates.
Definition: handler.h:4028
 
Definition: index_skip_scan.h:66
 
int DoRead() override
Get the next row for skip scan.
Definition: index_skip_scan.cc:262
 
EQPrefix * eq_prefixes
Definition: index_skip_scan.h:74
 
bool has_aggregate_function
Definition: index_skip_scan.h:106
 
uchar *const max_range_key
Definition: index_skip_scan.h:98
 
bool next_eq_prefix()
Increments cur_prefix and sets what the next equality prefix should be.
Definition: index_skip_scan.cc:195
 
uchar *const max_search_key
Definition: index_skip_scan.h:100
 
IndexSkipScanIterator(THD *thd, TABLE *table, KEY *index_info, uint index, uint eq_prefix_len, uint eq_prefix_key_parts, EQPrefix *eq_prefixes, uint used_key_parts, MEM_ROOT *temp_mem_root, bool has_aggregate_function, uchar *min_range_key, uchar *max_range_key, uchar *min_search_key, uchar *max_search_key, uint range_cond_flag, uint range_key_len)
Construct new quick select for queries that can do skip scans.
Definition: index_skip_scan.cc:69
 
uchar * distinct_prefix
Definition: index_skip_scan.h:84
 
key_range start_key
Definition: index_skip_scan.h:103
 
const uint range_cond_flag
Definition: index_skip_scan.h:101
 
uint distinct_prefix_key_parts
Definition: index_skip_scan.h:86
 
uchar *const min_range_key
Definition: index_skip_scan.h:97
 
~IndexSkipScanIterator() override
Definition: index_skip_scan.cc:121
 
bool DoInit() override
Definition: index_skip_scan.cc:126
 
MY_BITMAP column_bitmap
Definition: index_skip_scan.h:70
 
uint index
Definition: index_skip_scan.h:68
 
uint max_used_key_length
Definition: index_skip_scan.h:78
 
const uint eq_prefix_len
Definition: index_skip_scan.h:72
 
uchar * eq_prefix
Definition: index_skip_scan.h:75
 
key_range end_key
Definition: index_skip_scan.h:104
 
bool seen_first_key
Definition: index_skip_scan.h:94
 
uint distinct_prefix_len
Definition: index_skip_scan.h:85
 
const uint range_key_len
Definition: index_skip_scan.h:89
 
uchar *const min_search_key
Definition: index_skip_scan.h:99
 
uint used_key_parts
Definition: index_skip_scan.h:82
 
uint eq_prefix_key_parts
Definition: index_skip_scan.h:73
 
MEM_ROOT * mem_root
Definition: index_skip_scan.h:88
 
KEY * index_info
Definition: index_skip_scan.h:69
 
Definition: sql_optimizer.h:133
 
THD * thd() const
Definition: row_iterator.h:255
 
A graph of (possible multiple) key ranges, represented as a red-black binary tree.
Definition: tree.h:69
 
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:169
 
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
 
Definition: row_iterator.h:267
 
TABLE * table() const
Definition: row_iterator.h:279
 
This file follows Google coding style, except for the name MEM_ROOT (which is kept for historical rea...
 
This file includes constants used by all storage engines.
 
Some integer typedefs for easier portability.
 
unsigned char uchar
Definition: my_inttypes.h:52
 
Definition: index_skip_scan_plan.h:53
 
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
 
Definition: my_bitmap.h:43
 
Definition: my_base.h:1201