MySQL 8.3.0
Source Code Documentation
Explain_format_traditional Class Reference

Formatter for the traditional EXPLAIN output. More...

#include <opt_explain_traditional.h>

Inheritance diagram for Explain_format_traditional:
[legend]

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_rowentry () 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 () 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_nullnil
 
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_resultoutput
 output resulting data there More...
 

Detailed Description

Formatter for the traditional EXPLAIN output.

Constructor & Destructor Documentation

◆ Explain_format_traditional()

Explain_format_traditional::Explain_format_traditional ( )
inline

Member Function Documentation

◆ begin_context()

bool Explain_format_traditional::begin_context ( enum_parsing_context  context,
Query_expression subquery,
const Explain_format_flags flags 
)
inlineoverridevirtual

Enter a specified context.

Parameters
contextcontext type
subqueryfor CTX_WHERE: unit of the subquery
flagsFormat flags, see Explain_format_flags.

Implements Explain_format.

◆ end_context()

bool Explain_format_traditional::end_context ( enum_parsing_context  context)
inlineoverridevirtual

Leave the current context.

Parameters
contextcurrent context type (for validation/debugging)

Implements Explain_format.

◆ entry()

qep_row * Explain_format_traditional::entry ( )
inlineoverridevirtual

Get a pointer to the current TABLE/JOIN_TAB property set.

Implements Explain_format.

◆ flush_entry()

bool Explain_format_traditional::flush_entry ( )
overridevirtual

Flush TABLE/JOIN_TAB property set.

For traditional EXPLAIN: output a single EXPLAIN row.

Implements Explain_format.

◆ is_hierarchical()

bool Explain_format_traditional::is_hierarchical ( ) const
inlineoverridevirtual

A hierarchical text or a plain table.

Return values
trueFormatter produces hierarchical text
falseTraditional explain

Implements Explain_format.

◆ push_select_type()

bool Explain_format_traditional::push_select_type ( mem_root_deque< Item * > *  items)
private

◆ send_headers()

bool Explain_format_traditional::send_headers ( Query_result result)
overridevirtual

Send EXPLAIN header item(s) to output stream.

Note
: This function caches the output result set pointer for further use.
Parameters
resultoutput result set
Return values
falseOK
trueError

Reimplemented from Explain_format.

Member Data Documentation

◆ column_buffer

qep_row Explain_format_traditional::column_buffer
private

buffer for the current output row

◆ nil

class Item_null* Explain_format_traditional::nil
private

The documentation for this class was generated from the following files: