My Project
|
Public Member Functions | |
QUICK_RANGE_SELECT (THD *thd, TABLE *table, uint index_arg, bool no_alloc, MEM_ROOT *parent_alloc, bool *create_error) | |
void | need_sorted_output () |
int | init () |
int | reset (void) |
int | get_next () |
void | range_end () |
int | get_next_prefix (uint prefix_length, uint group_key_parts, uchar *cur_prefix) |
bool | reverse_sorted () const |
bool | reverse_sort_possible () const |
bool | unique_key_range () |
int | init_ror_merged_scan (bool reuse_handler) |
void | save_last_pos () |
int | get_type () |
void | add_keys_and_lengths (String *key_names, String *used_lengths) |
void | add_info_string (String *str) |
void | dbug_dump (int indent, bool verbose) |
QUICK_SELECT_I * | make_reverse (uint used_key_parts_arg) |
void | set_handler (handler *file_arg) |
Public Attributes | |
uint | mrr_flags |
MEM_ROOT | alloc |
Protected Member Functions | |
int | cmp_next (QUICK_RANGE *range) |
int | cmp_prev (QUICK_RANGE *range) |
bool | row_in_ranges () |
Protected Attributes | |
handler * | file |
bool | in_ror_merged_scan |
MY_BITMAP | column_bitmap |
DYNAMIC_ARRAY | ranges |
bool | free_file |
QUICK_RANGE ** | cur_range |
QUICK_RANGE * | last_range |
QUICK_RANGE_SEQ_CTX | qr_traversal_ctx |
uint | mrr_buf_size |
HANDLER_BUFFER * | mrr_buf_desc |
KEY_PART * | key_parts |
KEY_PART_INFO * | key_part_info |
bool | dont_free |
Friends | |
class | TRP_ROR_INTERSECT |
class | QUICK_SELECT_DESC |
class | QUICK_INDEX_MERGE_SELECT |
class | QUICK_ROR_INTERSECT_SELECT |
class | QUICK_GROUP_MIN_MAX_SELECT |
QUICK_RANGE_SELECT * | get_quick_select_for_ref (THD *thd, TABLE *table, struct st_table_ref *ref, ha_rows records) |
bool | get_quick_keys (PARAM *param, QUICK_RANGE_SELECT *quick, KEY_PART *key, SEL_ARG *key_tree, uchar *min_key, uint min_key_flag, uchar *max_key, uint max_key_flag) |
QUICK_RANGE_SELECT * | get_quick_select (PARAM *, uint idx, SEL_ARG *key_tree, uint mrr_flags, uint mrr_buf_size, MEM_ROOT *alloc) |
uint | quick_range_seq_next (range_seq_t rseq, KEY_MULTI_RANGE *range) |
range_seq_t | quick_range_seq_init (void *init_param, uint n_ranges, uint flags) |
QUICK_SELECT_I * QUICK_RANGE_SELECT::make_reverse | ( | uint | used_key_parts_arg | ) | [virtual] |
Create a compatible quick select with the result ordered in an opposite way
used_key_parts_arg | Number of used key parts |
NULL | in case of errors (OOM etc) |
pointer | to a newly created QUICK_SELECT_DESC if success |
Reimplemented from QUICK_SELECT_I.
Reimplemented in QUICK_SELECT_DESC.
bool QUICK_RANGE_SELECT::reverse_sort_possible | ( | ) | const [inline, virtual] |
Whether the range access method is capable of returning records in reverse order.
Implements QUICK_SELECT_I.
Reimplemented in QUICK_SELECT_DESC.
bool QUICK_RANGE_SELECT::reverse_sorted | ( | ) | const [inline, virtual] |
Whether the range access method returns records in reverse order.
Implements QUICK_SELECT_I.
Reimplemented in QUICK_SELECT_DESC.