MySQL 8.3.0
Source Code Documentation
Sql_cmd_show Class Reference

Sql_cmd_show represents the SHOW statements that are implemented as SELECT statements internally. More...

#include <sql_show.h>

Inheritance diagram for Sql_cmd_show:
[legend]

Public Member Functions

 Sql_cmd_show (enum_sql_command sql_command)
 
enum_sql_command sql_command_code () const override
 Return the command code for this statement. More...
 
virtual bool check_parameters (THD *)
 
bool precheck (THD *thd) override
 Generally, the SHOW commands do not distinguish precheck and regular check. More...
 
bool check_privileges (THD *) override
 Perform an authorization check for a prepared SELECT statement. More...
 
bool execute (THD *thd) override
 Execute a DML statement. More...
 
- Public Member Functions inherited from Sql_cmd_select
 Sql_cmd_select (Query_result *result_arg)
 
bool is_data_change_stmt () const override
 
bool accept (THD *thd, Select_lex_visitor *visitor) override
 
const MYSQL_LEX_CSTRINGeligible_secondary_storage_engine (THD *thd) const override
 Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine? More...
 
- Public Member Functions inherited from Sql_cmd_dml
bool prepare (THD *thd) override
 Command-specific resolving (doesn't include LEX::prepare()) More...
 
enum enum_sql_cmd_type sql_cmd_type () const override
 
bool is_single_table_plan () const override
 
Query_resultquery_result () const
 
void set_query_result (Query_result *result)
 Set query result object for this query statement. More...
 
void set_lazy_result ()
 Signal that root result object needs preparing in next execution. More...
 
- Public Member Functions inherited from Sql_cmd
bool needs_explicit_preparation () const
 
bool is_regular () const
 
bool is_prepared () const
 
virtual void cleanup (THD *)
 Command-specific reinitialization before execution of prepared statement. More...
 
void set_owner (Prepared_statement *stmt)
 Set the owning prepared statement. More...
 
Prepared_statementowner () const
 Get the owning prepared statement. More...
 
void set_as_part_of_sp ()
 Mark statement as part of procedure. More...
 
bool is_part_of_sp () const
 
virtual bool is_bulk_load () const
 
void disable_secondary_storage_engine ()
 Disable use of secondary storage engines in this statement. More...
 
void enable_secondary_storage_engine ()
 
bool secondary_storage_engine_disabled () const
 Has use of secondary storage engines been disabled for this statement? More...
 
void use_secondary_storage_engine (const handlerton *hton)
 Mark the current statement as using a secondary storage engine. More...
 
bool using_secondary_storage_engine () const
 Is this statement using a secondary storage engine? More...
 
const handlertonsecondary_engine () const
 Get the handlerton of the secondary engine that is used for executing this statement, or nullptr if a secondary engine is not used. More...
 
void set_optional_transform_prepared (bool value)
 
bool is_optional_transform_prepared ()
 

Protected Attributes

enum_sql_command m_sql_command
 
- Protected Attributes inherited from Sql_cmd_dml
LEXlex
 Pointer to LEX for this statement. More...
 
Query_resultresult
 Pointer to object for handling of the result. More...
 
bool m_empty_query
 True if query will produce no rows. More...
 
bool m_lazy_result
 True: prepare query result on next execution. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Sql_cmd_select
bool may_use_cursor () const override
 
bool prepare_inner (THD *thd) override
 Prepare a SELECT statement. More...
 
- Protected Member Functions inherited from Sql_cmd_dml
 Sql_cmd_dml ()
 
bool is_empty_query () const
 
void set_empty_query ()
 Set statement as returning no data. More...
 
bool check_all_table_privileges (THD *thd)
 Read and check privileges for all tables in a DML statement. More...
 
virtual bool execute_inner (THD *thd)
 The inner parts of query optimization and execution. More...
 
virtual bool restore_cmd_properties (THD *thd)
 Restore command properties before execution. More...
 
virtual bool save_cmd_properties (THD *thd)
 Save command properties, such as prepared query details and table props. More...
 
const MYSQL_LEX_CSTRINGget_eligible_secondary_engine (THD *thd) const
 Helper function that checks if the command is eligible for secondary engine and if that's true returns the name of that eligible secondary storage engine. More...
 
- Protected Member Functions inherited from Sql_cmd
 Sql_cmd ()
 
virtual ~Sql_cmd ()
 
void set_prepared ()
 Set this statement as prepared. More...
 

Detailed Description

Sql_cmd_show represents the SHOW statements that are implemented as SELECT statements internally.

Normally, preparation and execution is the same as for regular SELECT statements.

Constructor & Destructor Documentation

◆ Sql_cmd_show()

Sql_cmd_show::Sql_cmd_show ( enum_sql_command  sql_command)
inline

Member Function Documentation

◆ check_parameters()

virtual bool Sql_cmd_show::check_parameters ( THD )
inlinevirtual

◆ check_privileges()

◆ execute()

bool Sql_cmd_show::execute ( THD thd)
overridevirtual

Execute a DML statement.

Parameters
thdthread handler
Returns
false if success, true if error

Processing a statement goes through 6 phases (parsing is already done)

  • Prelocking
  • Preparation
  • Locking of tables
  • Optimization
  • Execution or explain
  • Cleanup

If the statement is already prepared, this step is skipped.

The queries handled by this function are:

SELECT INSERT ... SELECT INSERT ... VALUES REPLACE ... SELECT REPLACE ... VALUES UPDATE (single-table and multi-table) DELETE (single-table and multi-table) DO

Reimplemented from Sql_cmd_dml.

Reimplemented in Sql_cmd_show_noplan, and Sql_cmd_show_status.

◆ precheck()

bool Sql_cmd_show::precheck ( THD thd)
inlineoverridevirtual

Generally, the SHOW commands do not distinguish precheck and regular check.

Reimplemented from Sql_cmd_select.

◆ sql_command_code()

enum_sql_command Sql_cmd_show::sql_command_code ( ) const
inlineoverridevirtual

Return the command code for this statement.

Reimplemented from Sql_cmd_select.

Member Data Documentation

◆ m_sql_command

enum_sql_command Sql_cmd_show::m_sql_command
protected

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