MySQL 8.4.2
Source Code Documentation
|
This class outputs an empty plan for queries that use a secondary engine. More...
Public Member Functions | |
Explain_secondary_engine (THD *explain_thd_arg, const THD *query_thd_arg, Query_block *query_block_arg) | |
Public Member Functions inherited from anonymous_namespace{opt_explain.cc}::Explain | |
virtual | ~Explain ()=default |
bool | send () |
Explain class main function. More... | |
bool | can_print_clauses () const |
Tells if it is allowed to print the WHERE / GROUP BY / etc clauses. More... | |
Protected Member Functions | |
bool | explain_select_type () override |
bool | explain_extra () override |
Protected Member Functions inherited from anonymous_namespace{opt_explain.cc}::Explain | |
Explain (enum_parsing_context context_type_arg, THD *explain_thd_arg, const THD *query_thd_arg, Query_block *query_block_arg) | |
virtual bool | shallow_explain () |
Explain everything but subqueries. More... | |
bool | explain_subqueries () |
Explain the rest of things after the shallow_explain() call. More... | |
bool | mark_subqueries (Item *item, qep_row *destination) |
Qualify subqueries with WHERE/HAVING/ORDER BY/GROUP BY clause type marker. More... | |
bool | prepare_columns () |
Pre-calculate table property values for further EXPLAIN output. More... | |
bool | push_extra (Extra_tag tag) |
Push a part of the "extra" column into formatter. More... | |
bool | push_extra (Extra_tag tag, const String &arg) |
Push a part of the "extra" column into formatter. More... | |
bool | push_extra (Extra_tag tag, const char *arg) |
Push a part of the "extra" column into formatter. More... | |
virtual bool | explain_id () |
virtual bool | explain_table_name () |
virtual bool | explain_partitions () |
virtual bool | explain_join_type () |
virtual bool | explain_possible_keys () |
virtual bool | explain_key_and_len () |
fill col_key and and col_key_len fields together More... | |
virtual bool | explain_ref () |
virtual bool | explain_rows_and_filtered () |
fill col_rows and col_filtered fields together More... | |
virtual bool | explain_modify_flags () |
virtual bool | can_walk_clauses () |
Returns true if the WHERE, ORDER BY, GROUP BY, etc clauses can safely be traversed: it means that we can iterate through them (no element is added/removed/replaced); the internal details of an element can change though (in particular if that element is an Item_subselect). More... | |
virtual enum_parsing_context | get_subquery_context (Query_expression *unit) const |
Private Member Functions | |
bool | skip_subqueries () const override |
Returns true if EXPLAIN should not produce any information about subqueries. More... | |
Additional Inherited Members | |
Protected Attributes inherited from anonymous_namespace{opt_explain.cc}::Explain | |
THD *const | explain_thd |
cached THD which runs the EXPLAIN command More... | |
const THD * | query_thd |
THD which runs the query to be explained. More... | |
const CHARSET_INFO *const | cs |
cached pointer to system_charset_info More... | |
Query_block *const | query_block |
Cached Query_block of the explained query. More... | |
Explain_format *const | fmt |
shortcut for thd->lex->explain_format More... | |
enum_parsing_context | context_type |
associated value for struct. explain More... | |
bool | order_list |
if query block has ORDER BY More... | |
const bool | explain_other |
if we explain other thread than us More... | |
This class outputs an empty plan for queries that use a secondary engine.
It is only used with the hypergraph optimizer, and only when the traditional format is specified. The traditional format is not supported by the hypergraph optimizer, so only an empty plan is shown, with extra information showing a secondary engine is used.
|
inline |
|
inlineoverrideprotectedvirtual |
Reimplemented from anonymous_namespace{opt_explain.cc}::Explain.
|
inlineoverrideprotectedvirtual |
Reimplemented from anonymous_namespace{opt_explain.cc}::Explain.
|
inlineoverrideprivatevirtual |
Returns true if EXPLAIN should not produce any information about subqueries.
Reimplemented from anonymous_namespace{opt_explain.cc}::Explain.