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