![]() |
MySQL 8.0.43
Source Code Documentation
|
Formatter class for EXPLAIN FORMAT=JSON output. More...
#include <opt_explain_json.h>
Public Types | |
| enum class | FormatVersion { kLinear , kIteratorBased } |
Public Member Functions | |
| Explain_format_JSON (FormatVersion version) | |
| bool | is_hierarchical () const override |
| A hierarchical text or a plain table. More... | |
| bool | is_iterator_based () const override |
| Format versions newer than Linear are always going to be iterator-based. More... | |
| bool | send_headers (Query_result *result) override |
| Send EXPLAIN header item(s) to output stream. More... | |
| bool | begin_context (enum_parsing_context context, Query_expression *subquery, const Explain_format_flags *flags) override |
| Enter a specified context. More... | |
| bool | end_context (enum_parsing_context 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... | |
| std::string | ExplainJsonToString (Json_object *json) override |
| Convert Json object to string. More... | |
Public Member Functions inherited from Explain_format | |
| Explain_format () | |
| virtual | ~Explain_format ()=default |
Private Attributes | |
| opt_explain_json_namespace::context * | current_context |
| current tree node More... | |
| FormatVersion | m_version |
Additional Inherited Members | |
Protected Attributes inherited from Explain_format | |
| Query_result * | output |
| output resulting data there More... | |
Formatter class for EXPLAIN FORMAT=JSON output.
|
strong |
|
inline |
|
overridevirtual |
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.
|
overridevirtual |
Leave the current context.
| context | current context type (for validation/debugging) |
Implements Explain_format.
|
overridevirtual |
Get a pointer to the current TABLE/JOIN_TAB property set.
Implements Explain_format.
|
overridevirtual |
Convert Json object to string.
Should only be called for iterator-based formats.
Reimplemented from Explain_format.
|
inlineoverridevirtual |
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.
|
inlineoverridevirtual |
Format versions newer than Linear are always going to be iterator-based.
Reimplemented from Explain_format.
|
overridevirtual |
Send EXPLAIN header item(s) to output stream.
| result | output result set |
| false | OK |
| true | Error |
Reimplemented from Explain_format.
|
private |
current tree node
|
private |