MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
QUICK_RANGE_SELECT Class Reference
Inheritance diagram for QUICK_RANGE_SELECT:
Collaboration diagram for QUICK_RANGE_SELECT:

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 Member Functions inherited from QUICK_SELECT_I
virtual bool clustered_pk_range ()
virtual bool is_keys_used (const MY_BITMAP *fields)
virtual bool is_valid ()

Public Attributes

uint mrr_flags
MEM_ROOT alloc
- Public Attributes inherited from QUICK_SELECT_I
ha_rows records
double read_time
TABLEhead
uint index
uint max_used_key_length
uint used_key_parts
uchar * last_rowid
uchar * record

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)

Additional Inherited Members

- Public Types inherited from QUICK_SELECT_I
enum  {
  QS_TYPE_RANGE = 0, QS_TYPE_INDEX_MERGE = 1, QS_TYPE_RANGE_DESC = 2, QS_TYPE_FULLTEXT = 3,
  QS_TYPE_ROR_INTERSECT = 4, QS_TYPE_ROR_UNION = 5, QS_TYPE_GROUP_MIN_MAX = 6
}

Detailed Description

Definition at line 402 of file opt_range.h.

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.

Definition at line 10939 of file opt_range.cc.

bool QUICK_RANGE_SELECT::reverse_sort_possible ( ) const
inlinevirtual

Whether the range access method is capable of returning records in reverse order.

Implements QUICK_SELECT_I.

Reimplemented in QUICK_SELECT_DESC.

Definition at line 472 of file opt_range.h.

bool QUICK_RANGE_SELECT::reverse_sorted ( ) const
inlinevirtual

Whether the range access method returns records in reverse order.

Implements QUICK_SELECT_I.

Reimplemented in QUICK_SELECT_DESC.

Definition at line 471 of file opt_range.h.


The documentation for this class was generated from the following files: