mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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
This commit is contained in:
@ -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.
|
||||
|
||||
|
Reference in New Issue
Block a user