summaryrefslogtreecommitdiff
path: root/sql/handler.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-11-09 09:11:50 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2021-11-09 09:11:50 +0200
commit25ac047bafefa582ff082d1ad1783e5ff3865c20 (patch)
tree7ce818faf8d0cf7b9c84602626ed6b10ef84c314 /sql/handler.cc
parent96f853260669bb67ab7a336e67d29f7221377cd3 (diff)
parent9c18b9660302a76a6ff9bd505888048a13586a4c (diff)
downloadmariadb-git-25ac047bafefa582ff082d1ad1783e5ff3865c20.tar.gz
Merge 10.5 into 10.6
Diffstat (limited to 'sql/handler.cc')
-rw-r--r--sql/handler.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/sql/handler.cc b/sql/handler.cc
index e4543bde5de..9fc9399d521 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -8285,15 +8285,16 @@ bool Table_scope_and_contents_source_st::vers_fix_system_fields(
if (!vers_info.need_check(alter_info))
return false;
- if (!vers_info.versioned_fields && vers_info.unversioned_fields &&
- !(alter_info->flags & ALTER_ADD_SYSTEM_VERSIONING))
+ const bool add_versioning= alter_info->flags & ALTER_ADD_SYSTEM_VERSIONING;
+
+ if (!vers_info.versioned_fields && vers_info.unversioned_fields && !add_versioning)
{
// All is correct but this table is not versioned.
options&= ~HA_VERSIONED_TABLE;
return false;
}
- if (!(alter_info->flags & ALTER_ADD_SYSTEM_VERSIONING) && vers_info)
+ if (!add_versioning && vers_info && !vers_info.versioned_fields)
{
my_error(ER_MISSING, MYF(0), create_table.table_name.str,
"WITH SYSTEM VERSIONING");
@@ -8303,8 +8304,7 @@ bool Table_scope_and_contents_source_st::vers_fix_system_fields(
List_iterator<Create_field> it(alter_info->create_list);
while (Create_field *f= it++)
{
- if ((f->versioning == Column_definition::VERSIONING_NOT_SET &&
- !(alter_info->flags & ALTER_ADD_SYSTEM_VERSIONING)) ||
+ if ((f->versioning == Column_definition::VERSIONING_NOT_SET && !add_versioning) ||
f->versioning == Column_definition::WITHOUT_VERSIONING)
{
f->flags|= VERS_UPDATE_UNVERSIONED_FLAG;