|
| Query_result_union_direct (Query_result *result, Query_block *last_query_block) |
|
bool | change_query_result (THD *thd, Query_result *new_result) override |
| Replace the current query result with new_result and prepare it. More...
|
|
uint | field_count (const mem_root_deque< Item * > &) const override |
|
bool | postponed_prepare (THD *thd, const mem_root_deque< Item * > &types) override |
| Do prepare() if preparation has been postponed until column type information is computed (used by Query_result_union_direct). More...
|
|
bool | send_result_set_metadata (THD *, const mem_root_deque< Item * > &, uint) override |
|
bool | send_data (THD *, const mem_root_deque< Item * > &) override |
|
bool | start_execution (THD *thd) override |
| Prepare for execution of the query expression or DML statement. More...
|
|
bool | send_eof (THD *) override |
|
bool | flush () override |
|
bool | check_supports_cursor () const override |
| Check if this query result set supports cursors. More...
|
|
void | abort_result_set (THD *thd) override |
|
void | cleanup () override |
| Cleanup after this execution. More...
|
|
| Query_result_union () |
|
bool | prepare (THD *thd, const mem_root_deque< Item * > &list, Query_expression *u) override |
| Perform preparation specific to the query expression or DML statement. More...
|
|
bool | send_data (THD *thd, const mem_root_deque< Item * > &items) override |
|
bool | send_eof (THD *thd) override |
|
void | cleanup () override |
| Cleanup after this execution. More...
|
|
bool | reset () override |
| Reset and empty the temporary table that stores the materialized query result. More...
|
|
bool | create_result_table (THD *thd, const mem_root_deque< Item * > &column_types, bool is_distinct, ulonglong options, const char *alias, bool bit_fields_as_long, bool create_table, Query_term_set_op *op=nullptr) |
| Create a temporary table to store the result of a query expression (used, among others, when materializing a UNION DISTINCT). More...
|
|
uint | get_hidden_field_count () const |
|
bool | skip_create_table () const |
|
void | set_limit (ha_rows limit_rows) override |
| Set an effective LIMIT for the number of rows coming out of a materialized temporary table used for implementing INTERSECT or EXCEPT: informs TableScanIterator::TableScanIterator how many rows to read from the materialized table. More...
|
|
| Query_result_interceptor () |
|
bool | is_interceptor () const final |
| Checks if this Query_result intercepts and transforms the result set. More...
|
|
| Query_result () |
|
virtual | ~Query_result ()=default |
|
virtual bool | needs_file_privilege () const |
|
virtual bool | need_explain_interceptor () const |
|
virtual bool | create_table_for_query_block (THD *) |
| Create table, only needed to support CREATE TABLE ... SELECT. More...
|
|
virtual Server_side_cursor * | cursor () const |
|
This class is effectively dead.
It was used for non-DISTINCT UNIONs in the pre-iterator executor. Now it exists only as a shell for certain setup tasks, and should be removed.
bool Query_result_union_direct::start_execution |
( |
THD * |
| ) |
|
|
inlineoverridevirtual |
Prepare for execution of the query expression or DML statement.
Generally, this will have an implementation only for outer-most Query_block objects, such as data change statements (for preparation of the target table(s)) or dump statements (for preparation of target file).
- Returns
- false if success, true if error
Reimplemented from Query_result.