summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2020-06-16 10:43:53 +0300
committerAleksey Midenkov <midenok@gmail.com>2020-06-16 10:43:53 +0300
commitb633b6a9d8278a3e0d9baaf83264fd007820c918 (patch)
tree981a94b21bdedd80fbe9bf992ef98fd0778efb81 /sql/sql_select.cc
parent9f37323f063d4efbbab4a235d1e2417d7a646053 (diff)
downloadmariadb-git-b633b6a9d8278a3e0d9baaf83264fd007820c918.tar.gz
MDEV-22906 Disallow system_versioning_asof in DML
system_versioning_asof does not influence on multi-delete, multi-update, insert-select, replace-select.
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 05da4a1e750..1f35754a8fe 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -778,9 +778,12 @@ int SELECT_LEX::vers_setup_conds(THD *thd, TABLE_LIST *tables)
}
bool is_select= false;
+ bool use_sysvar= false;
switch (thd->lex->sql_command)
{
case SQLCOM_SELECT:
+ use_sysvar= true;
+ /* fall through */
case SQLCOM_INSERT_SELECT:
case SQLCOM_REPLACE_SELECT:
case SQLCOM_DELETE_MULTI:
@@ -824,7 +827,7 @@ int SELECT_LEX::vers_setup_conds(THD *thd, TABLE_LIST *tables)
}
// propagate system_time from sysvar
- if (!vers_conditions.is_set() && is_select)
+ if (!vers_conditions.is_set() && use_sysvar)
{
if (vers_conditions.init_from_sysvar(thd))
DBUG_RETURN(-1);