summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2022-06-02 14:57:56 +0200
committerNikita Malyavin <nikitamalyavin@gmail.com>2023-04-18 00:29:48 +0300
commit02627999457a6cc455fff6bceb784b222800b659 (patch)
tree04060d1f786bf70d1ce2fc2dc3737276132b850e /sql
parent9d5b39a9a78c2e02737a47ead4c95a272e594adf (diff)
downloadmariadb-git-02627999457a6cc455fff6bceb784b222800b659.tar.gz
don't do DROP SYSTEM VERSIONING online
because ALTER TABLE ... DROP SYSTEM VERSIONING is not just a change in the table structure, it also deletes all historical rows
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_table.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index c42c45ed03c..2620a14d382 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -10026,6 +10026,7 @@ bool mysql_alter_table(THD *thd, const LEX_CSTRING *new_db,
if (alter_info->requested_lock == Alter_info::ALTER_TABLE_LOCK_SHARED
|| alter_info->requested_lock > Alter_info::ALTER_TABLE_LOCK_NONE
+ || alter_info->flags & ALTER_DROP_SYSTEM_VERSIONING
|| thd->locked_tables_mode == LTM_LOCK_TABLES
|| thd->lex->sql_command == SQLCOM_OPTIMIZE
|| alter_info->algorithm(thd) > Alter_info::ALTER_TABLE_ALGORITHM_COPY)