23#ifndef SQL_CMD_DML_INCLUDED
24#define SQL_CMD_DML_INCLUDED
Definition: query_result.h:57
Definition: sql_cmd_dml.h:34
bool is_empty_query() const
Definition: sql_cmd_dml.h:116
virtual bool precheck(THD *thd)=0
Perform a precheck of table privileges for the specific operation.
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:218
Sql_cmd_dml()
Definition: sql_cmd_dml.h:103
virtual bool may_use_cursor() const
Definition: sql_cmd_dml.h:89
enum enum_sql_cmd_type sql_cmd_type() const override
Definition: sql_cmd_dml.h:81
virtual bool is_data_change_stmt() const
Definition: sql_cmd_dml.h:37
void set_empty_query()
Set statement as returning no data.
Definition: sql_cmd_dml.h:122
void set_lazy_result()
Signal that root result object needs preparing in next execution.
Definition: sql_cmd_dml.h:100
bool m_lazy_result
True: prepare query result on next execution.
Definition: sql_cmd_dml.h:221
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:220
Query_result * result
Pointer to object for handling of the result.
Definition: sql_cmd_dml.h:219
bool is_single_table_plan() const override
Definition: sql_cmd_dml.h:91
Representation of an SQL command.
Definition: sql_cmd.h:81
bool is_prepared() const
Definition: sql_cmd.h:109
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:221
bool prepare(THD *thd) override
Command-specific resolving (doesn't include LEX::prepare())
Definition: sql_select.cc:494
bool check_all_table_privileges(THD *thd)
Read and check privileges for all tables in a DML statement.
Definition: sql_select.cc:1168
bool execute(THD *thd) override
Execute a DML statement.
Definition: sql_select.cc:671
Query_result * query_result() const
Definition: sql_select.cc:1039
void set_query_result(Query_result *result)
Set query result object for this query statement.
Definition: sql_select.cc:1046
virtual bool save_cmd_properties(THD *thd)
Save command properties, such as prepared query details and table props.
Definition: sql_select.cc:1035
virtual bool restore_cmd_properties(THD *thd)
Restore command properties before execution.
Definition: sql_select.cc:1028
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 return...
Definition: sql_select.cc:1207
virtual bool execute_inner(THD *thd)
The inner parts of query optimization and execution.
Definition: sql_select.cc:1004
Representation of an SQL command.
enum_sql_cmd_type
What type of Sql_cmd we're dealing with (DML, DDL, other).
Definition: sql_cmd.h:52
@ SQL_CMD_DML
Definition: sql_cmd.h:55
The LEX object currently serves three different purposes:
Definition: sql_lex.h:3714
Definition: mysql_lex_string.h:39