summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorEugene Kosov <claprix@yandex.ru>2017-12-20 19:42:15 +0300
committerGitHub <noreply@github.com>2017-12-20 19:42:15 +0300
commit4bc268d40686fb94bb53c5bb0b85f4ea97d70fa6 (patch)
tree6422a32af9f9c0d776f4cf676c36f78e15e5f3f0 /sql/handler.h
parentb13f1cc59adb097b8c449730da2c1962493847f4 (diff)
downloadmariadb-git-4bc268d40686fb94bb53c5bb0b85f4ea97d70fa6.tar.gz
MDEV-14632 Assertion `!((new_col->prtype ^ col->prtype) & ~256U)' failed in row_log_table_apply_convert_mrec
SQL, IB: proper fix is to disable unimplemented Online DDL for system-versioned tables inside InnoDB
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h20
1 files changed, 5 insertions, 15 deletions
diff --git a/sql/handler.h b/sql/handler.h
index d73661b9a77..13b8dc41f65 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -1715,8 +1715,6 @@ class Create_field;
struct Vers_parse_info
{
Vers_parse_info() :
- with_system_versioning(false),
- without_system_versioning(false),
versioned_fields(false),
unversioned_fields(false)
{}
@@ -1762,15 +1760,7 @@ protected:
{
return as_row.start || as_row.end || system_time.start || system_time.end;
}
- bool need_check() const
- {
- return
- versioned_fields ||
- unversioned_fields ||
- with_system_versioning ||
- without_system_versioning ||
- *this;
- }
+ bool need_check(const Alter_info *alter_info) const;
bool check_with_conditions(const char *table_name) const;
bool check_sys_fields(const char *table_name, Alter_info *alter_info,
bool native) const;
@@ -1784,10 +1774,6 @@ public:
bool fix_create_like(Alter_info &alter_info, HA_CREATE_INFO &create_info,
TABLE_LIST &src_table, TABLE_LIST &table);
- /** Table definition has 'WITH/WITHOUT SYSTEM VERSIONING' */
- bool with_system_versioning : 1;
- bool without_system_versioning : 1;
-
/**
At least one field was specified 'WITH/WITHOUT SYSTEM VERSIONING'.
Useful for error handling.
@@ -2170,6 +2156,10 @@ public:
static const HA_ALTER_FLAGS ALTER_COLUMN_UNVERSIONED = 1ULL << 42;
+ static const HA_ALTER_FLAGS ALTER_ADD_SYSTEM_VERSIONING= 1ULL << 43;
+
+ static const HA_ALTER_FLAGS ALTER_DROP_SYSTEM_VERSIONING= 1ULL << 44;
+
/**
Create options (like MAX_ROWS) for the new version of table.