diff options
author | Eugene Kosov <claprix@yandex.ru> | 2017-12-20 19:42:15 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-20 19:42:15 +0300 |
commit | 4bc268d40686fb94bb53c5bb0b85f4ea97d70fa6 (patch) | |
tree | 6422a32af9f9c0d776f4cf676c36f78e15e5f3f0 /sql/handler.h | |
parent | b13f1cc59adb097b8c449730da2c1962493847f4 (diff) | |
download | mariadb-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.h | 20 |
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. |