24#ifndef SQL_CMD_DML_INCLUDED
25#define SQL_CMD_DML_INCLUDED
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:251
Definition: query_result.h:58
Definition: sql_cmd_dml.h:35
bool is_empty_query() const
Definition: sql_cmd_dml.h:120
virtual bool precheck(THD *thd)=0
Perform a precheck of table privileges for the specific operation.
bool are_dynamic_parameters_allowed() const final
Signal that DML statement can have dynamic parameters.
Definition: sql_cmd_dml.h:104
virtual bool prepare_inner(THD *thd)=0
Perform the command-specific parts of DML command preparation, to be called from prepare()
LEX * lex
Pointer to LEX for this statement.
Definition: sql_cmd_dml.h:222
Sql_cmd_dml()
Definition: sql_cmd_dml.h:107
virtual bool may_use_cursor() const
Definition: sql_cmd_dml.h:90
enum enum_sql_cmd_type sql_cmd_type() const override
Definition: sql_cmd_dml.h:82
virtual bool is_data_change_stmt() const
Definition: sql_cmd_dml.h:38
void set_empty_query()
Set statement as returning no data.
Definition: sql_cmd_dml.h:126
void set_lazy_result()
Signal that root result object needs preparing in next execution.
Definition: sql_cmd_dml.h:101
bool m_lazy_result
True: prepare query result on next execution.
Definition: sql_cmd_dml.h:225
virtual bool check_privileges(THD *thd)=0
Check privileges on a prepared statement, called at start of execution of the statement.
bool m_empty_query
True if query will produce no rows.
Definition: sql_cmd_dml.h:224
Query_result * result
Pointer to object for handling of the result.
Definition: sql_cmd_dml.h:223
bool is_single_table_plan() const override
Definition: sql_cmd_dml.h:92
Representation of an SQL command.
Definition: sql_cmd.h:83
bool is_prepared() const
Definition: sql_cmd.h:111
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
bool prepare(THD *thd) override
Command-specific resolving (doesn't include LEX::prepare())
Definition: sql_select.cc:512
bool check_all_table_privileges(THD *thd)
Read and check privileges for all tables in a DML statement.
Definition: sql_select.cc:1270
bool execute(THD *thd) override
Execute a DML statement.
Definition: sql_select.cc:685
const MYSQL_LEX_CSTRING * get_eligible_secondary_engine(THD *thd) const
Helper function that checks if the command is eligible for secondary engine and if that's true return...
Definition: sql_select.cc:1309
Query_result * query_result() const
Definition: sql_select.cc:1140
void set_query_result(Query_result *result)
Set query result object for this query statement.
Definition: sql_select.cc:1147
virtual bool save_cmd_properties(THD *thd)
Save command properties, such as prepared query details and table props.
Definition: sql_select.cc:1136
virtual bool restore_cmd_properties(THD *thd)
Restore command properties before execution.
Definition: sql_select.cc:1129
virtual bool execute_inner(THD *thd)
The inner parts of query optimization and execution.
Definition: sql_select.cc:1091
Representation of an SQL command.
enum_sql_cmd_type
What type of Sql_cmd we're dealing with (DML, DDL, ...).
Definition: sql_cmd.h:53
@ SQL_CMD_DML
Definition: sql_cmd.h:56
The LEX object currently serves three different purposes:
Definition: sql_lex.h:3844
Definition: mysql_lex_string.h:40