MySQL 9.1.0
Source Code Documentation
|
Formatter for the traditional EXPLAIN output. More...
#include <opt_explain_traditional.h>
Public Member Functions | |
Explain_format_traditional () | |
bool | is_hierarchical () const override |
A hierarchical text or a plain table. More... | |
bool | send_headers (Query_result *result) override |
Send EXPLAIN header item(s) to output stream. More... | |
bool | begin_context (enum_parsing_context, Query_expression *, const Explain_format_flags *) override |
Enter a specified context. More... | |
bool | end_context (enum_parsing_context) override |
Leave the current context. More... | |
bool | flush_entry () override |
Flush TABLE/JOIN_TAB property set. More... | |
qep_row * | entry () override |
Get a pointer to the current TABLE/JOIN_TAB property set. More... | |
Public Member Functions inherited from Explain_format | |
virtual | ~Explain_format ()=default |
virtual bool | is_iterator_based (THD *explain_thd, const THD *query_thd) const |
Whether the format closely resembles the final plan to be executed by execution iterators (See RowIterator). More... | |
bool | is_explain_into () const |
Whether the output of an EXPLAIN statement should be stored in a user variable or sent to the client. More... | |
bool | is_explain_for_schema () const |
Whether the EXPLAIN statement should be run in another schema than the current active schema. More... | |
std::string_view | explain_into_variable_name () const |
Returns the name of the user variable the output of this EXPLAIN statement is to be stored in. More... | |
virtual std::string | ExplainJsonToString (Json_object *json) |
Convert Json object to string. More... | |
Private Member Functions | |
bool | push_select_type (mem_root_deque< Item * > *items) |
Private Attributes | |
class Item_null * | nil |
qep_row | column_buffer |
buffer for the current output row More... | |
Additional Inherited Members | |
Public Attributes inherited from Explain_format | |
LEX_CSTRING | m_schema_name_for_explain |
Protected Member Functions inherited from Explain_format | |
Explain_format () | |
Explain_format (std::optional< std::string_view > explain_into_variable_name) | |
Protected Attributes inherited from Explain_format | |
Query_result * | output |
output resulting data there More... | |
Formatter for the traditional EXPLAIN output.
|
inline |
|
inlineoverridevirtual |
Enter a specified context.
context | context type |
subquery | for CTX_WHERE: unit of the subquery |
flags | Format flags, see Explain_format_flags. |
Implements Explain_format.
|
inlineoverridevirtual |
Leave the current context.
context | current context type (for validation/debugging) |
Implements Explain_format.
|
inlineoverridevirtual |
Get a pointer to the current TABLE/JOIN_TAB property set.
Implements Explain_format.
|
overridevirtual |
Flush TABLE/JOIN_TAB property set.
For traditional EXPLAIN: output a single EXPLAIN row.
Implements Explain_format.
|
inlineoverridevirtual |
A hierarchical text or a plain table.
true | Formatter produces hierarchical text |
false | Traditional explain |
Implements Explain_format.
|
private |
|
overridevirtual |
Send EXPLAIN header item(s) to output stream.
result | output result set |
false | OK |
true | Error |
Reimplemented from Explain_format.
|
private |
buffer for the current output row
|
private |