summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2022-06-18 00:49:15 -0700
committerIgor Babaev <igor@askmonty.org>2022-06-18 00:49:15 -0700
commit2f09d93bc4054a965178f1a1d953924f09739b56 (patch)
tree7f02ea6d1d7c0e9a41ea6267fe5eac4989a23c55 /sql/handler.h
parentd371e35257c45895318c4efbed20e5bfdcc7cee9 (diff)
downloadmariadb-git-bb-10.10-mdev-28883.tar.gz
MDEV-27159 Re-design the upper level of handling DML commandsbb-10.10-mdev-28883
This patch allows to execute only single-table and multi-table UPDATE and DELETE statements using the method Sql_cmd_dml::execute(). The code that handles INSERT statements has not been touched.
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 60c6195e68e..efc75d7281c 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -246,7 +246,7 @@ enum chf_create_flags {
Example:
UPDATE a=1 WHERE pk IN (<keys>)
- mysql_update()
+ Sql_cmd_update::update_single_table()
{
if (<conditions for starting read removal>)
start_read_removal()
@@ -1800,7 +1800,8 @@ struct THD_TRANS
modified non-transactional tables of top-level statements. At
the end of the previous statement and at the beginning of the session,
it is reset to FALSE. If such functions
- as mysql_insert, mysql_update, mysql_delete etc modify a
+ as mysql_insert(), Sql_cmd_update::update_single_table,
+ Sql_cmd_delete::delete_single_table modify a
non-transactional table, they set this flag to TRUE. At the
end of the statement, the value of stmt.modified_non_trans_table
is merged with all.modified_non_trans_table and gets reset.