MySQL 9.1.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Sql_cmd_create_table Class Referencefinal

#include <sql_cmd_ddl_table.h>

Inheritance diagram for Sql_cmd_create_table:
[legend]

Public Member Functions

 Sql_cmd_create_table (Alter_info *alter_info, Table_ref *query_expression_tables)
 
enum_sql_command sql_command_code () const override
 Return the command code for this statement. More...
 
bool are_dynamic_parameters_allowed () const override
 Need to allow this for CREATE ... AS SELECT ... More...
 
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...
 
bool execute (THD *thd) override
 Execute this SQL statement. More...
 
bool prepare (THD *thd) override
 Validate and prepare for execution CREATE TABLE statement. More...
 
bool reprepare_on_execute_required () const override
 Some SQL commands currently require re-preparation on re-execution of a prepared statement or stored procedure. More...
 
- Public Member Functions inherited from Sql_cmd_ddl_table
 Sql_cmd_ddl_table (Alter_info *alter_info)
 
 ~Sql_cmd_ddl_table () override=0
 
- Public Member Functions inherited from Sql_cmd_ddl
enum enum_sql_cmd_type sql_cmd_type () const override
 
- 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_single_table_plan () const
 
virtual bool accept (THD *, Select_lex_visitor *)
 
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 ()
 

Private Attributes

Table_refquery_expression_tables
 

Additional Inherited Members

- Protected Member Functions inherited from Sql_cmd
 Sql_cmd ()
 
virtual ~Sql_cmd ()
 
void set_prepared ()
 Set this statement as prepared. More...
 
- Protected Attributes inherited from Sql_cmd_ddl_table
Alter_info *const m_alter_info
 

Constructor & Destructor Documentation

◆ Sql_cmd_create_table()

Sql_cmd_create_table::Sql_cmd_create_table ( Alter_info alter_info,
Table_ref query_expression_tables 
)
inline

Member Function Documentation

◆ are_dynamic_parameters_allowed()

bool Sql_cmd_create_table::are_dynamic_parameters_allowed ( ) const
inlineoverridevirtual

Need to allow this for CREATE ... AS SELECT ...

Reimplemented from Sql_cmd.

◆ eligible_secondary_storage_engine()

const MYSQL_LEX_CSTRING * Sql_cmd_create_table::eligible_secondary_storage_engine ( THD ) const
overridevirtual

Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine?

Returns
the name of the secondary storage engine, or nullptr if the statement is not eligible for execution in a secondary storage engine

Reimplemented from Sql_cmd.

◆ execute()

bool Sql_cmd_create_table::execute ( THD thd)
overridevirtual

Execute this SQL statement.

Parameters
thdthe current thread.
Returns
false if success, true if error

Disallow creation of foreign keys if,

  • SE supports atomic DDL's.
  • The binlogging is enabled.
  • The binlog format is ROW.

This is done to avoid complications involved in locking, updating and invalidation (in case of rollback) of DD cache for parent table.

Implements Sql_cmd.

◆ prepare()

bool Sql_cmd_create_table::prepare ( THD thd)
overridevirtual

Validate and prepare for execution CREATE TABLE statement.

Parameters
thdThread handle.
Returns
false if success, true if error

Reimplemented from Sql_cmd.

◆ reprepare_on_execute_required()

bool Sql_cmd_create_table::reprepare_on_execute_required ( ) const
overridevirtual

Some SQL commands currently require re-preparation on re-execution of a prepared statement or stored procedure.

For example, a CREATE TABLE command containing an index expression.

Returns
true if re-preparation is required, false otherwise.

Reimplemented from Sql_cmd.

◆ sql_command_code()

enum_sql_command Sql_cmd_create_table::sql_command_code ( ) const
inlineoverridevirtual

Return the command code for this statement.

Implements Sql_cmd.

Member Data Documentation

◆ query_expression_tables

Table_ref* Sql_cmd_create_table::query_expression_tables
private

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