Go to the source code of this file.
 | 
| 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) | 
|   | 
| 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) | 
|   | 
| 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) | 
|   | 
| void  | dbug_dump_range (int indent, bool verbose, TABLE *table, int index, KEY_PART *used_key_part, Bounds_checked_array< QUICK_RANGE * > ranges) | 
|   | 
| void  | trace_basic_info_index_range_scan (THD *thd, const AccessPath *path, const RANGE_OPT_PARAM *param, Opt_trace_object *trace_object) | 
|   | 
◆ check_quick_select()
      
        
          | 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  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ dbug_dump_range()
◆ get_key_scans_params()
No cost calculation when index dive is skipped.
 
 
◆ get_ranges_from_tree()
      
        
          | 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  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ trace_basic_info_index_range_scan()