![]()  | 
  
    MySQL 8.4.7
    
   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, std::optional< std::string_view > explain_into_variable_name) | |
| 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 | |
| virtual | ~Explain_format ()=default | 
| 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... | |
Private Attributes | |
| opt_explain_json_namespace::context * | current_context | 
| current tree node  More... | |
| FormatVersion | m_version | 
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 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 |