|
| 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...
|
|
virtual bool | postponed_prepare (THD *thd, const mem_root_deque< Item * > &types) |
| Do prepare() if preparation has been postponed until column type information is computed (used by Query_result_union_direct). More...
|
|
bool | send_data (THD *thd, const mem_root_deque< Item * > &items) override |
|
bool | send_eof (THD *thd) override |
|
virtual bool | flush () |
|
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 () |
|
uint | field_count (const mem_root_deque< Item * > &) const override |
|
bool | send_result_set_metadata (THD *, const mem_root_deque< Item * > &, uint) override |
|
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 | change_query_result (THD *, Query_result *) |
| Change wrapped Query_result. More...
|
|
virtual bool | need_explain_interceptor () const |
|
virtual bool | start_execution (THD *) |
| Prepare for execution of the query expression or DML statement. More...
|
|
virtual bool | create_table_for_query_block (THD *) |
| Create table, only needed to support CREATE TABLE ... SELECT. More...
|
|
virtual bool | check_supports_cursor () const |
| Check if this query result set supports cursors. More...
|
|
virtual void | abort_result_set (THD *) |
|
virtual Server_side_cursor * | cursor () const |
|
void Query_result_union::set_limit |
( |
ha_rows |
limit_rows | ) |
|
|
overridevirtual |
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.
For UNION and simple tables the limitation is enforced earlier, at materialize time, but this is not possible for INTERSECT and EXCEPT due to the use of cardinality counters.
- Parameters
-
limit_rows | the effective limit, or HA_POS_ERROR if none. |
Reimplemented from Query_result.