MySQL 8.3.0
Source Code Documentation
Sql_cmd_create_trigger Class Reference

This class implements the CREATE TRIGGER statement. More...

#include <sql_trigger.h>

Inheritance diagram for Sql_cmd_create_trigger:
[legend]

Public Member Functions

enum_sql_command sql_command_code () const final
 Return the command code for CREATE TRIGGER. More...
 
bool execute (THD *thd) final
 Execute CREATE TRIGGER statement. More...
 
- Public Member Functions inherited from Sql_cmd_ddl_trigger_common
void set_table (Table_ref *trigger_table)
 Set a table associated with a trigger. More...
 
- 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 bool prepare (THD *)
 Prepare this SQL statement. More...
 
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 const MYSQL_LEX_CSTRINGeligible_secondary_storage_engine (THD *) const
 Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine? More...
 
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 ()
 

Additional Inherited Members

- Protected Member Functions inherited from Sql_cmd_ddl_trigger_common
 Sql_cmd_ddl_trigger_common ()
 
bool check_trg_priv_on_subj_table (THD *thd, Table_ref *table) const
 Check that the user has TRIGGER privilege on the subject table. More...
 
TABLEopen_and_lock_subj_table (THD *thd, Table_ref *tables, MDL_ticket **mdl_ticket) const
 Open and lock a table associated with a trigger. More...
 
void restore_original_mdl_state (THD *thd, MDL_ticket *mdl_ticket) const
 Restore original state of meta-data locks. More...
 
- 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_trigger_common
Table_refm_trigger_table {nullptr}
 

Detailed Description

This class implements the CREATE TRIGGER statement.

Member Function Documentation

◆ execute()

bool Sql_cmd_create_trigger::execute ( THD thd)
finalvirtual

Execute CREATE TRIGGER statement.

Parameters
thdcurrent thread context (including trigger definition in LEX)
Note
This method is mainly responsible for opening and locking of table and invalidation of all its instances in table cache after trigger creation. Real work on trigger creation is done inside Table_trigger_dispatcher methods.
Return values
falseon success.
trueon error

Implements Sql_cmd.

◆ sql_command_code()

enum_sql_command Sql_cmd_create_trigger::sql_command_code ( ) const
inlinefinalvirtual

Return the command code for CREATE TRIGGER.

Implements Sql_cmd.


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