MySQL 8.0.39
Source Code Documentation
|
A subquery execution engine that evaluates the subquery by doing index lookups in a single table's index. More...
#include <item_subselect.h>
Public Types | |
enum | enum_engine_type { INDEXSUBQUERY_ENGINE , HASH_SJ_ENGINE } |
Public Member Functions | |
subselect_indexsubquery_engine (TABLE *table, Table_ref *table_ref, const Index_lookup &ref, enum join_type join_type, Item_in_subselect *subs, Item *where, Item *having_arg) | |
virtual | ~subselect_indexsubquery_engine ()=default |
virtual bool | exec (THD *thd) |
virtual void | print (const THD *thd, String *str, enum_query_type query_type) |
virtual enum_engine_type | engine_type () const |
virtual void | cleanup () |
virtual void | create_iterators (THD *) |
Protected Attributes | |
Query_result_union * | result = nullptr |
TABLE * | table {nullptr} |
Table which is read, using one of eq_ref, ref, ref_or_null. More... | |
Table_ref * | table_ref {nullptr} |
Index_lookup | ref |
join_type | type {JT_UNKNOWN} |
Item * | cond |
ulonglong | hash |
Item * | having |
Item_in_subselect * | item |
A subquery execution engine that evaluates the subquery by doing index lookups in a single table's index.
This engine is used to resolve subqueries in forms
outer_expr IN (SELECT tbl.key FROM tbl WHERE subq_where)
or, row-based:
(oe1, .. oeN) IN (SELECT key_part1, ... key_partK FROM tbl WHERE subqwhere)
i.e. the subquery is a single table SELECT without GROUP BY, aggregate functions, etc.
|
inline |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in subselect_hash_sj_engine.
|
inlinevirtual |
Reimplemented in subselect_hash_sj_engine.
|
inlinevirtual |
Reimplemented in subselect_hash_sj_engine.
|
virtual |
Reimplemented in subselect_hash_sj_engine.
|
virtual |
Reimplemented in subselect_hash_sj_engine.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Table which is read, using one of eq_ref, ref, ref_or_null.
|
protected |