#include <opt_explain_traditional.h>
◆ Explain_format_tree()
Explain_format_tree::Explain_format_tree |
( |
| ) |
|
|
default |
◆ AppendChildren()
void Explain_format_tree::AppendChildren |
( |
const Json_dom * |
children, |
|
|
int |
level, |
|
|
std::string * |
explain, |
|
|
std::vector< std::string > * |
tokens_for_force_subplan, |
|
|
std::string * |
child_token_digest |
|
) |
| |
|
private |
◆ begin_context()
Enter a specified context.
- Parameters
-
context | context type |
subquery | for CTX_WHERE: unit of the subquery |
flags | Format flags, see Explain_format_flags. |
Implements Explain_format.
◆ end_context()
Leave the current context.
- Parameters
-
context | current context type (for validation/debugging) |
Implements Explain_format.
◆ entry()
qep_row * Explain_format_tree::entry |
( |
| ) |
|
|
inlineoverridevirtual |
Get a pointer to the current TABLE/JOIN_TAB property set.
Implements Explain_format.
◆ ExplainJsonToString()
string Explain_format_tree::ExplainJsonToString |
( |
Json_object * |
json | ) |
|
|
overridevirtual |
◆ ExplainPrintCosts()
void Explain_format_tree::ExplainPrintCosts |
( |
const Json_object * |
obj, |
|
|
std::string * |
explain |
|
) |
| |
|
private |
◆ ExplainPrintTreeNode()
void Explain_format_tree::ExplainPrintTreeNode |
( |
const Json_dom * |
json, |
|
|
int |
level, |
|
|
std::string * |
explain, |
|
|
std::vector< std::string > * |
tokens_for_force_subplan |
|
) |
| |
◆ flush_entry()
bool Explain_format_tree::flush_entry |
( |
| ) |
|
|
inlineoverridevirtual |
Flush TABLE/JOIN_TAB property set.
For traditional EXPLAIN: output a single EXPLAIN row.
Implements Explain_format.
◆ is_hierarchical()
bool Explain_format_tree::is_hierarchical |
( |
| ) |
const |
|
inlineoverridevirtual |
A hierarchical text or a plain table.
- Return values
-
true | Formatter produces hierarchical text |
false | Traditional explain |
Implements Explain_format.
◆ is_iterator_based()
bool Explain_format_tree::is_iterator_based |
( |
THD * |
explain_thd, |
|
|
const THD * |
query_thd |
|
) |
| const |
|
inlineoverridevirtual |
Whether the format closely resembles the final plan to be executed by execution iterators (See RowIterator).
These formats share a common logic that uses AccessPath structure to generate the information, so they all display exactly the same information, even though the style of each format might be different.
- Note
- : The new json format for hypergraph and the tree format are examples of iterator-based formats.
- Return values
-
true | Format is Iterator-based. |
false | Format is not Iterator-based. |
Reimplemented from Explain_format.
◆ push_select_type()
◆ send_headers()
bool Explain_format_tree::send_headers |
( |
Query_result * |
result | ) |
|
|
inlineoverridevirtual |
Send EXPLAIN header item(s) to output stream.
- Note
- : This function caches the output result set pointer for further use.
- Parameters
-
- Return values
-
Reimplemented from Explain_format.
The documentation for this class was generated from the following files: