MySQL  8.0.28
Source Code Documentation
Sql_cmd_insert_values Class Reference

Class that implements INSERT ... More...

#include <sql_insert.h>

Inheritance diagram for Sql_cmd_insert_values:
Sql_cmd_insert_base Sql_cmd_dml Sql_cmd

Public Member Functions

 Sql_cmd_insert_values (bool is_replace_arg, enum_duplicates duplicates_arg)
enum_sql_command sql_command_code () const override
 Return the command code for this statement. More...
bool is_single_table_plan () const override
- Public Member Functions inherited from Sql_cmd_insert_base
 Sql_cmd_insert_base (bool is_replace_arg, enum_duplicates duplicates_arg)
bool accept (THD *thd, Select_lex_visitor *visitor) override
- Public Member Functions inherited from Sql_cmd_dml
virtual bool is_data_change_stmt () const
bool prepare (THD *thd) override
 Command-specific resolving (doesn't include LEX::prepare()) More...
bool execute (THD *thd) override
 Execute a DML statement. More...
bool is_dml () const override
virtual bool may_use_cursor () const
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 const MYSQL_LEX_CSTRINGeligible_secondary_storage_engine () const
 Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine? More...
void disable_secondary_storage_engine ()
 Disable use of secondary storage engines in this statement. More...
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 Member Functions

bool execute_inner (THD *thd) override
 Insert one or more rows from a VALUES list into a table. More...
- Protected Member Functions inherited from Sql_cmd_insert_base
bool precheck (THD *thd) override
 Perform a precheck of table privileges for the specific operation. More...
bool check_privileges (THD *thd) override
 Check privileges on a prepared statement, called at start of execution of the statement. More...
bool prepare_inner (THD *thd) override
 Prepare items in INSERT statement. More...
bool restore_cmd_properties (THD *thd) override
 Restore command properties before execution. 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 save_cmd_properties (THD *thd)
 Save command properties, such as prepared query details and table props. More...
const MYSQL_LEX_CSTRINGget_eligible_secondary_engine () 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...

Additional Inherited Members

- Public Attributes inherited from Sql_cmd_insert_base
mem_root_deque< Item * > insert_field_list
 Field list to insert/replace. More...
mem_root_deque< List_item * > insert_many_values
 Row data to insert/replace. More...
bool values_need_privilege_check {false}
 True if VALUES clause contain column references that need privilege check. More...
uint column_count
 Number of columns in original insert column list. More...
uint value_count
 Number of values per row in insert_many_values, available after resolving. More...
mem_root_deque< Item * > update_field_list
 ON DUPLICATE KEY UPDATE field list. More...
mem_root_deque< Item * > update_value_list
 ON DUPLICATE KEY UPDATE data value list. More...
TABLE_LISTvalues_table {nullptr}
Create_col_name_listvalues_column_list {nullptr}
mem_root_deque< Item * > values_field_list
 Field list for VALUES derived table. More...
const enum_duplicates duplicates
- Protected Attributes inherited from Sql_cmd_insert_base
const bool is_replace
 true when REPLACE statement, false when INSERT statement More...
- Protected Attributes inherited from Sql_cmd_dml
 Pointer to LEX for this statement. More...
 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...

Detailed Description

Class that implements INSERT ...

VALUES and REPLACE ... VALUES statements.

Constructor & Destructor Documentation

◆ Sql_cmd_insert_values()

Sql_cmd_insert_values::Sql_cmd_insert_values ( bool  is_replace_arg,
enum_duplicates  duplicates_arg 

Member Function Documentation

◆ execute_inner()

bool Sql_cmd_insert_values::execute_inner ( THD thd)

Insert one or more rows from a VALUES list into a table.

thdthread handler
false if success, true if error

Reimplemented from Sql_cmd_dml.

◆ is_single_table_plan()

bool Sql_cmd_insert_values::is_single_table_plan ( ) const
true if implemented as single table plan, DML statement only

Reimplemented from Sql_cmd_dml.

◆ sql_command_code()

enum_sql_command Sql_cmd_insert_values::sql_command_code ( ) const

Return the command code for this statement.

Implements Sql_cmd.

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