![]()  | 
  
    MySQL 9.5.0
    
   Source Code Documentation 
   | 
 
#include <group_index_skip_scan.h>
Public Member Functions | |
| 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) | |
| ~GroupIndexSkipScanIterator () override | |
| bool | is_agg_distinct () const | 
  Public Member Functions inherited from TableRowIterator | |
| TableRowIterator (THD *thd, TABLE *table) | |
| void | UnlockRow () override | 
| The default implementation of unlock-row method of RowIterator, used in all access methods except EQRefIterator.  More... | |
| void | SetNullRowFlag (bool is_null_row) override | 
| Mark the current row buffer as containing a NULL row or not, so that if you read from it and the flag is true, you'll get only NULLs no matter what is actually in the buffer (typically some old leftover row).  More... | |
| void | StartPSIBatchMode () override | 
| Start performance schema batch mode, if supported (otherwise ignored).  More... | |
| void | EndPSIBatchModeIfStarted () override | 
| Ends performance schema batch mode, if started.  More... | |
  Public Member Functions inherited from RowIterator | |
| RowIterator (THD *thd) | |
| virtual | ~RowIterator ()=default | 
| RowIterator (const RowIterator &)=delete | |
| RowIterator (RowIterator &&)=default | |
| bool | Init () | 
| Initialize or reinitialize the iterator.  More... | |
| int | Read () | 
| Read a single row.  More... | |
| virtual const IteratorProfiler * | GetProfiler () const | 
| Get profiling data for this iterator (for 'EXPLAIN ANALYZE').  More... | |
| virtual void | SetOverrideProfiler (const IteratorProfiler *profiler) | 
| virtual RowIterator * | real_iterator () | 
| If this iterator is wrapping a different iterator (e.g.  More... | |
| virtual const RowIterator * | real_iterator () const | 
| uint64_t | num_init_calls () const | 
| Returns the number of times Init() has been called on this iterator.  More... | |
| uint64_t | num_rows () const | 
| Returns the number of times Read() has returned a row successfully from this iterator.  More... | |
| uint64_t | num_full_reads () const | 
| Returns the number of times the iterator has been fully read.  More... | |
Private Member Functions | |
| int | next_prefix () | 
| int | get_next_prefix (uint prefix_length, uint group_key_parts, uchar *cur_prefix) | 
| bool | append_next_infix () | 
| void | reset_group () | 
| int | next_min_in_range () | 
| int | next_max_in_range () | 
| int | next_min () | 
| int | next_max () | 
| void | update_min_result (bool *reset) | 
| void | update_max_result (bool *reset) | 
| bool | DoInit () override | 
| int | DoRead () override | 
Private Attributes | |
| uint | index | 
| KEY * | index_info | 
| uchar * | group_prefix | 
| const uint | group_prefix_len | 
| uint | group_key_parts | 
| uchar * | last_prefix | 
| bool | have_agg_distinct | 
| bool | seen_first_key | 
| KEY_PART_INFO * | min_max_arg_part | 
| uint | min_max_arg_len | 
| bool | min_max_keypart_asc | 
| uint | key_infix_len | 
| uint | max_used_key_length | 
| uint | cur_infix_range_position [MAX_REF_PARTS] | 
| bool | seen_all_infix_ranges | 
| const Quick_ranges * | prefix_ranges | 
| unsigned | cur_prefix_range_idx | 
| QUICK_RANGE * | last_prefix_range | 
| const Quick_ranges * | min_max_ranges | 
| const Quick_ranges_array * | key_infix_ranges | 
| uint | real_prefix_len | 
| uint | real_key_parts | 
| const Mem_root_array< Item_sum * > * | min_functions | 
| const Mem_root_array< Item_sum * > * | max_functions | 
| bool | is_index_scan | 
| bool | m_seen_eof | 
| MEM_ROOT * | mem_root | 
Additional Inherited Members | |
  Protected Member Functions inherited from TableRowIterator | |
| int | HandleError (int error) | 
| void | PrintError (int error) | 
| TABLE * | table () const | 
  Protected Member Functions inherited from RowIterator | |
| THD * | thd () const | 
| GroupIndexSkipScanIterator::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 | ||
| ) | 
      
  | 
  override | 
      
  | 
  private | 
      
  | 
  overrideprivatevirtual | 
Implements RowIterator.
      
  | 
  overrideprivatevirtual | 
Implements RowIterator.
      
  | 
  private | 
      
  | 
  inline | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |