MySQL  8.0.18
Source Code Documentation
Explain_format Class Referenceabstract

Base class for structured and hierarchical EXPLAIN output formatters. More...

#include <opt_explain_format.h>

Inheritance diagram for Explain_format:
Explain_format_JSON Explain_format_traditional Explain_format_tree

Public Member Functions

 Explain_format ()
 
virtual ~Explain_format ()
 
virtual bool is_hierarchical () const =0
 A hierarchical text or a plain table. More...
 
virtual bool is_tree () const
 
virtual bool send_headers (Query_result *result)
 Send EXPLAIN header item(s) to output stream. More...
 
virtual bool begin_context (enum_parsing_context context, SELECT_LEX_UNIT *subquery=0, const Explain_format_flags *flags=NULL)=0
 Enter a specified context. More...
 
virtual bool end_context (enum_parsing_context context)=0
 Leave the current context. More...
 
virtual bool flush_entry ()=0
 Flush TABLE/JOIN_TAB property set. More...
 
virtual qep_rowentry ()=0
 Get a pointer to the current TABLE/JOIN_TAB property set. More...
 

Protected Attributes

Query_resultoutput
 output resulting data there More...
 

Private Member Functions

 Explain_format (Explain_format &)
 
Explain_formatoperator= (Explain_format &)
 

Detailed Description

Base class for structured and hierarchical EXPLAIN output formatters.

Constructor & Destructor Documentation

◆ Explain_format() [1/2]

Explain_format::Explain_format ( Explain_format )
private

◆ Explain_format() [2/2]

Explain_format::Explain_format ( )
inline

◆ ~Explain_format()

virtual Explain_format::~Explain_format ( )
inlinevirtual

Member Function Documentation

◆ begin_context()

virtual bool Explain_format::begin_context ( enum_parsing_context  context,
SELECT_LEX_UNIT subquery = 0,
const Explain_format_flags flags = NULL 
)
pure virtual

Enter a specified context.

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

Implemented in Explain_format_tree, Explain_format_JSON, and Explain_format_traditional.

◆ end_context()

virtual bool Explain_format::end_context ( enum_parsing_context  context)
pure virtual

Leave the current context.

Parameters
contextcurrent context type (for validation/debugging)

Implemented in Explain_format_tree, Explain_format_JSON, and Explain_format_traditional.

◆ entry()

virtual qep_row* Explain_format::entry ( )
pure virtual

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

Implemented in Explain_format_tree, Explain_format_JSON, and Explain_format_traditional.

◆ flush_entry()

virtual bool Explain_format::flush_entry ( )
pure virtual

Flush TABLE/JOIN_TAB property set.

For traditional EXPLAIN: output a single EXPLAIN row.

Implemented in Explain_format_tree, Explain_format_JSON, and Explain_format_traditional.

◆ is_hierarchical()

virtual bool Explain_format::is_hierarchical ( ) const
pure virtual

A hierarchical text or a plain table.

Return values
trueFormatter produces hierarchical text
falseTraditional explain

Implemented in Explain_format_tree, Explain_format_JSON, and Explain_format_traditional.

◆ is_tree()

virtual bool Explain_format::is_tree ( ) const
inlinevirtual

Reimplemented in Explain_format_tree.

◆ operator=()

Explain_format& Explain_format::operator= ( Explain_format )
private

◆ send_headers()

virtual bool Explain_format::send_headers ( Query_result result)
inlinevirtual

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 in Explain_format_tree, Explain_format_JSON, and Explain_format_traditional.

Member Data Documentation

◆ output

Query_result* Explain_format::output
protected

output resulting data there


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