MySQL 5.6.14 Source Code Document
|
Public Types | |
enum | { ALG_NONE = 0, ALG_BNL = 1, ALG_BKA = 2, ALG_BKA_UNIQUE = 4 } |
Public Types inherited from QEP_operation | |
enum | enum_op_type { OT_CACHE, OT_TMP_TABLE } |
Public Member Functions | |
virtual int | init ()=0 |
virtual bool | is_key_access () |
virtual void | reset_cache (bool for_writing) |
Reset the join buffer for reading/writing: default implementation. | |
virtual enum_nested_loop_state | put_record () |
virtual bool | get_record () |
virtual void | get_record_by_pos (uchar *rec_ptr) |
virtual bool | get_match_flag_by_pos (uchar *rec_ptr) |
virtual uchar * | get_curr_rec () |
virtual void | set_curr_rec_link (uchar *link) |
virtual uchar * | get_curr_rec_link () |
enum_nested_loop_state | end_send () |
enum_nested_loop_state | join_records (bool skip_last) |
enum_op_type | type () |
void | free () |
Public Member Functions inherited from QEP_operation | |
QEP_operation (JOIN_TAB *tab) |
Public Attributes | |
JOIN_CACHE * | prev_cache |
JOIN_CACHE * | next_cache |
Public Attributes inherited from QEP_operation | |
JOIN_TAB * | join_tab |
Protected Member Functions | |
uint | offset_size (uint len) |
ulong | get_offset (uint ofs_sz, uchar *ptr) |
void | store_offset (uint ofs_sz, uchar *ptr, ulong ofs) |
void | calc_record_fields () |
int | alloc_fields (uint external_fields) |
void | create_flag_fields () |
void | create_remaining_fields (bool all_read_fields) |
void | set_constants () |
bool | alloc_buffer () |
uint | get_size_of_rec_offset () |
uint | get_size_of_rec_length () |
uint | get_size_of_fld_offset () |
uchar * | get_rec_ref (uchar *ptr) |
ulong | get_rec_length (uchar *ptr) |
ulong | get_fld_offset (uchar *ptr) |
void | store_rec_ref (uchar *ptr, uchar *ref) |
void | store_rec_length (uchar *ptr, ulong len) |
void | store_fld_offset (uchar *ptr, ulong ofs) |
uint | write_record_data (uchar *link, bool *is_full) |
virtual uint | aux_buffer_incr () |
virtual uint | aux_buffer_min_size () const |
virtual ulong | rem_space () |
virtual bool | skip_record_if_match () |
int | read_some_record_fields () |
void | read_some_flag_fields () |
void | read_all_flag_fields_by_pos (uchar *rec_ptr) |
uint | read_record_field (CACHE_FIELD *copy, bool last_record) |
bool | read_referenced_field (CACHE_FIELD *copy, uchar *rec_ptr, uint *len) |
bool | blob_data_is_in_rec_buff (uchar *rec_ptr) |
virtual enum_nested_loop_state | join_matching_records (bool skip_last)=0 |
virtual enum_nested_loop_state | join_null_complements (bool skip_last) |
virtual void | restore_last_record () |
bool | set_match_flag_if_none (JOIN_TAB *first_inner, uchar *rec_ptr) |
enum_nested_loop_state | generate_full_extensions (uchar *rec_ptr) |
virtual bool | check_match (uchar *rec_ptr) |
bool | calc_check_only_first_match (const JOIN_TAB *t) const |
virtual bool | put_record_in_cache () |
Protected Attributes | |
uint | length |
JOIN * | join |
uint | tables |
uint | fields |
uint | flag_fields |
uint | blobs |
uint | referenced_fields |
uint | data_field_count |
uint | data_field_ptr_count |
CACHE_FIELD * | field_descr |
CACHE_FIELD ** | blob_ptr |
bool | with_match_flag |
bool | with_length |
uint | pack_length |
uint | pack_length_with_blob_ptrs |
uchar * | buff |
ulong | buff_size |
ulong | aux_buff_size |
uint | records |
uchar * | pos |
uchar * | end_pos |
uchar * | curr_rec_pos |
uchar * | last_rec_pos |
bool | last_rec_blob_data_is_in_rec_buff |
uchar * | curr_rec_link |
bool | check_only_first_match |
Friends | |
class | JOIN_CACHE_BNL |
class | JOIN_CACHE_BKA |
class | JOIN_CACHE_BKA_UNIQUE |
Additional Inherited Members | |
Static Public Member Functions inherited from Sql_alloc | |
static void * | operator new (size_t size) throw () |
static void * | operator new[] (size_t size) throw () |
static void * | operator new[] (size_t size, MEM_ROOT *mem_root) throw () |
static void * | operator new (size_t size, MEM_ROOT *mem_root) throw () |
static void | operator delete (void *ptr, size_t size) |
static void | operator delete (void *ptr, MEM_ROOT *mem_root) |
static void | operator delete[] (void *ptr, MEM_ROOT *mem_root) |
static void | operator delete[] (void *ptr, size_t size) |
Definition at line 89 of file sql_join_buffer.h.
anonymous enum |
Bits describing cache's type
Definition at line 473 of file sql_join_buffer.h.
|
inlineprotectedvirtual |
This method must determine the minimum size for the auxiliary buffer. If no auxiliary buffer is needed the function should return 0.
Reimplemented in JOIN_CACHE_BKA.
Definition at line 330 of file sql_join_buffer.h.
|
inlineprotected |
Definition at line 383 of file sql_join_buffer.h.
|
inlinevirtual |
Finalize records sending.
Implements QEP_operation.
Definition at line 447 of file sql_join_buffer.h.
|
inlinevirtual |
Internal state cleanup.
Reimplemented from QEP_operation.
Definition at line 453 of file sql_join_buffer.h.
|
pure virtual |
Initialize operation's internal state. Called once per query execution.
Reimplemented from QEP_operation.
Implemented in JOIN_CACHE_BKA_UNIQUE, JOIN_CACHE_BKA, and JOIN_CACHE_BNL.
|
inlinevirtual |
Put a new record into the operation's buffer
Implements QEP_operation.
Definition at line 413 of file sql_join_buffer.h.
|
protected |
Cached value of calc_check_only_first_match(join_tab)
Definition at line 276 of file sql_join_buffer.h.