![]() |
MySQL 8.0.43
Source Code Documentation
|
Class that implements INSERT ... SELECT and REPLACE ... SELECT statements. More...
#include <sql_insert.h>
Public Member Functions | |
| Sql_cmd_insert_select (bool is_replace_arg, enum_duplicates duplicates_arg) | |
| enum_sql_command | sql_command_code () const override |
| Return the command code for this statement. More... | |
| const MYSQL_LEX_CSTRING * | eligible_secondary_storage_engine () 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_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 |
| bool | is_single_table_plan () const override |
| Query_result * | query_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 bool | reprepare_on_execute_required () const |
| Some SQL commands currently require re-preparation on re-execution of a prepared statement or stored procedure. 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_statement * | owner () 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 |
| 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 handlerton * | secondary_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 | |
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_ref * | values_table {nullptr} |
| ON DUPLICATE KEY UPDATE reference to VALUES. More... | |
| Create_col_name_list * | values_column_list {nullptr} |
| mem_root_deque< Item * > | values_field_list |
| Field list for VALUES derived table. More... | |
| const enum_duplicates | duplicates |
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... | |
| bool | prune_partitions (THD *thd, bool prune_needs_default_values, const mem_root_deque< Item * > &insert_field_list, MY_BITMAP *used_partitions, TABLE *const insert_table, COPY_INFO &info, partition_info::enum_can_prune *can_prune_partitions, bool tables_locked) |
| Perform partition pruning for INSERT query. 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 | save_cmd_properties (THD *thd) |
| Save command properties, such as prepared query details and table props. More... | |
| const MYSQL_LEX_CSTRING * | get_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... | |
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 | |
| LEX * | lex |
| Pointer to LEX for this statement. More... | |
| Query_result * | result |
| 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... | |
Class that implements INSERT ... SELECT and REPLACE ... SELECT statements.
|
inlineexplicit |
|
overridevirtual |
Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine?
Reimplemented from Sql_cmd.
|
inlineoverridevirtual |
Return the command code for this statement.
Implements Sql_cmd.