MySQL 5.6.14 Source Code Document
|
Class for accumulating join result in a tmp table, grouping them if necessary, and sending further. More...
#include <sql_executor.h>
Public Member Functions | |
QEP_tmp_table (JOIN_TAB *tab) | |
enum_op_type | type () |
enum_nested_loop_state | put_record () |
enum_nested_loop_state | end_send () |
Finish rnd/index scan after accumulating records, switch ref_array, and send accumulated records further. | |
void | set_write_func (Next_select_func new_write_func) |
Public Member Functions inherited from QEP_operation | |
QEP_operation (JOIN_TAB *tab) | |
virtual int | init () |
virtual void | free () |
Additional Inherited Members | |
Public Types inherited from QEP_operation | |
enum | enum_op_type { OT_CACHE, OT_TMP_TABLE } |
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) |
Public Attributes inherited from QEP_operation | |
JOIN_TAB * | join_tab |
Class for accumulating join result in a tmp table, grouping them if necessary, and sending further.
Join result records are accumulated on the put_record() call. The accumulation process is determined by the write_func, it could be: end_write Simply store all records in tmp table. end_write_group Perform grouping using join->group_fields, records are expected to be sorted. end_update Perform grouping using the key generated on tmp table. Input records aren't expected to be sorted. Tmp table uses the heap engine end_update_unique Same as above, but the engine is myisam.
Lazy table initialization is used - the table will be instantiated and rnd/index scan started on the first put_record() call.
Definition at line 234 of file sql_executor.h.
|
inlinevirtual |
Put a new record into the operation's buffer
Implements QEP_operation.
Definition at line 241 of file sql_executor.h.
|
inline |
write_func setter
Definition at line 251 of file sql_executor.h.