24#ifndef SQL_RANGE_OPTIMIZER_GROUP_INDEX_SKIP_SCAN_H_ 
   25#define SQL_RANGE_OPTIMIZER_GROUP_INDEX_SKIP_SCAN_H_ 
  154  bool Init() 
override;
 
Used to store optimizer cost estimates.
Definition: handler.h:3706
 
Definition: group_index_skip_scan.h:84
 
GroupIndexSkipScanIterator(THD *thd, TABLE *table_arg, const Mem_root_array< Item_sum * > *min_functions, const Mem_root_array< Item_sum * > *max_functions, bool have_agg_distinct, KEY_PART_INFO *min_max_arg_part, uint group_prefix_len, uint group_key_parts, uint real_key_parts, uint max_used_key_length_arg, KEY *index_info, uint use_index, uint key_infix_len, MEM_ROOT *return_mem_root, bool is_index_scan, const Quick_ranges *prefix_ranges, const Quick_ranges_array *key_infix_ranges, const Quick_ranges *min_max_ranges)
Definition: group_index_skip_scan.cc:80
 
const Quick_ranges * prefix_ranges
Definition: group_index_skip_scan.h:108
 
const Quick_ranges_array * key_infix_ranges
Definition: group_index_skip_scan.h:115
 
bool min_max_keypart_asc
Definition: group_index_skip_scan.h:97
 
int next_prefix()
Definition: group_index_skip_scan.cc:489
 
bool append_next_infix()
Definition: group_index_skip_scan.cc:599
 
bool have_agg_distinct
Definition: group_index_skip_scan.h:92
 
bool seen_first_key
Definition: group_index_skip_scan.h:93
 
const Mem_root_array< Item_sum * > * min_functions
Definition: group_index_skip_scan.h:118
 
const uint group_prefix_len
Definition: group_index_skip_scan.h:89
 
void update_max_result(bool *reset)
Definition: group_index_skip_scan.cc:1054
 
uint index
Definition: group_index_skip_scan.h:86
 
int get_next_prefix(uint prefix_length, uint group_key_parts, uchar *cur_prefix)
Definition: group_index_skip_scan.cc:538
 
uchar * group_prefix
Definition: group_index_skip_scan.h:88
 
uint min_max_arg_len
Definition: group_index_skip_scan.h:96
 
bool seen_all_infix_ranges
Definition: group_index_skip_scan.h:106
 
KEY * index_info
Definition: group_index_skip_scan.h:87
 
uint max_used_key_length
Definition: group_index_skip_scan.h:100
 
unsigned cur_prefix_range_idx
Definition: group_index_skip_scan.h:109
 
const Quick_ranges * min_max_ranges
Definition: group_index_skip_scan.h:113
 
void reset_group()
Definition: group_index_skip_scan.cc:647
 
KEY_PART_INFO * min_max_arg_part
Definition: group_index_skip_scan.h:94
 
uchar * last_prefix
Definition: group_index_skip_scan.h:91
 
uint real_key_parts
Definition: group_index_skip_scan.h:117
 
bool Init() override
Initialize or reinitialize the iterator.
Definition: group_index_skip_scan.cc:143
 
int next_max()
Definition: group_index_skip_scan.cc:443
 
MEM_ROOT * mem_root
Definition: group_index_skip_scan.h:126
 
int next_min()
Definition: group_index_skip_scan.cc:359
 
int next_max_in_range()
Definition: group_index_skip_scan.cc:907
 
const Mem_root_array< Item_sum * > * max_functions
Definition: group_index_skip_scan.h:119
 
uint cur_infix_range_position[MAX_REF_PARTS]
Definition: group_index_skip_scan.h:103
 
uint group_key_parts
Definition: group_index_skip_scan.h:90
 
bool is_index_scan
Definition: group_index_skip_scan.h:124
 
int Read() override
Read a single row.
Definition: group_index_skip_scan.cc:220
 
QUICK_RANGE * last_prefix_range
Definition: group_index_skip_scan.h:110
 
uint key_infix_len
Definition: group_index_skip_scan.h:98
 
int next_min_in_range()
Definition: group_index_skip_scan.cc:775
 
uint real_prefix_len
Definition: group_index_skip_scan.h:116
 
bool m_seen_eof
Definition: group_index_skip_scan.h:125
 
~GroupIndexSkipScanIterator() override
Definition: group_index_skip_scan.cc:117
 
void update_min_result(bool *reset)
Definition: group_index_skip_scan.cc:1020
 
bool is_agg_distinct() const
Definition: group_index_skip_scan.h:156
 
Definition: index_range_scan.h:61
 
Class Item_sum is the base class used for special expressions that SQL calls 'set functions'.
Definition: item_sum.h:399
 
Definition: sql_optimizer.h:133
 
Definition: sql_list.h:573
 
Definition: sql_list.h:434
 
Definition: range_optimizer.h:69
 
THD * thd() const
Definition: row_iterator.h:228
 
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
 
Definition: row_iterator.h:234
 
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
 
std::string HARNESS_EXPORT reset()
get 'reset attributes' ESC sequence.
Definition: vt100.cc:37
 
File containing constants that can be used throughout the server.
 
constexpr const unsigned int MAX_REF_PARTS
Definition: sql_const.h:46
 
Our own string classes, used pervasively throughout the executor.
 
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
 
unsigned int uint
Definition: uca9-dump.cc:75