mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +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:
@@ -198,11 +198,12 @@ show create table t;
|
||||
select * from t for system_time all;
|
||||
call verify_vtq;
|
||||
|
||||
alter table t drop system versioning, algorithm=inplace;
|
||||
call verify_vtq;
|
||||
## FIXME: #414 IB: inplace for VERS_TIMESTAMP versioning
|
||||
if (0)
|
||||
{
|
||||
alter table t drop system versioning, algorithm=inplace;
|
||||
call verify_vtq;
|
||||
|
||||
alter table t add system versioning, algorithm=inplace;
|
||||
call verify_vtq;
|
||||
show create table t;
|
||||
@@ -220,7 +221,6 @@ alter table t drop column b, algorithm=inplace;
|
||||
show create table t;
|
||||
select * from t for system_time all;
|
||||
}
|
||||
alter table t add system versioning;
|
||||
## FIXME END
|
||||
|
||||
alter table t drop system versioning, algorithm=copy;
|
||||
|
39
mysql-test/suite/versioning/t/online.test
Normal file
39
mysql-test/suite/versioning/t/online.test
Normal file
@@ -0,0 +1,39 @@
|
||||
--source include/have_innodb.inc
|
||||
|
||||
set system_versioning_alter_history=keep;
|
||||
|
||||
create or replace table t (a int) engine=innodb;
|
||||
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
alter table t add system versioning, lock=none;
|
||||
alter table t add system versioning;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
alter table t add index idx(a), lock=none;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
alter table t drop system versioning, lock=none;
|
||||
|
||||
|
||||
set global system_versioning_transaction_registry=on;
|
||||
create or replace table t (a int) engine=innodb;
|
||||
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
alter table t
|
||||
add s bigint unsigned as row start,
|
||||
add e bigint unsigned as row end,
|
||||
add period for system_time(s, e),
|
||||
add system versioning,
|
||||
lock=none;
|
||||
alter table t
|
||||
add s bigint unsigned as row start,
|
||||
add e bigint unsigned as row end,
|
||||
add period for system_time(s, e),
|
||||
add system versioning;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
alter table t add index idx(a), lock=none;
|
||||
alter table t drop column s, drop column e;
|
||||
--error ER_ALTER_OPERATION_NOT_SUPPORTED
|
||||
alter table t drop system versioning, lock=none;
|
||||
|
||||
set global system_versioning_transaction_registry=off;
|
||||
|
||||
drop table t;
|
Reference in New Issue
Block a user