My Project
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends
QUICK_RANGE_SELECT Class Reference
Inheritance diagram for QUICK_RANGE_SELECT:
QUICK_SELECT_I FT_SELECT QUICK_RANGE_SELECT_GEOM QUICK_SELECT_DESC

List of all members.

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_Imake_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

handlerfile
bool in_ror_merged_scan
MY_BITMAP column_bitmap
DYNAMIC_ARRAY ranges
bool free_file
QUICK_RANGE ** cur_range
QUICK_RANGElast_range
QUICK_RANGE_SEQ_CTX qr_traversal_ctx
uint mrr_buf_size
HANDLER_BUFFERmrr_buf_desc
KEY_PARTkey_parts
KEY_PART_INFOkey_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_SELECTget_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_SELECTget_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)

Member Function Documentation

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

Parameters:
used_key_parts_argNumber of used key parts
Return values:
NULLin case of errors (OOM etc)
pointerto 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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines