mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-14798 Add, drop system versioning semantic and syntax
This commit is contained in:
committed by
Sergei Golubchik
parent
eedab70c1c
commit
f96b1a4e39
@ -125,7 +125,10 @@ with system versioning;
|
||||
select * from t for system_time all;
|
||||
a
|
||||
alter table t drop column row_start;
|
||||
ERROR HY000: Wrong parameters for `t`: missing 'DROP COLUMN row_end'
|
||||
alter table t drop column row_end;
|
||||
ERROR HY000: Wrong parameters for `t`: missing 'DROP COLUMN row_start'
|
||||
alter table t drop column row_start, drop column row_end;
|
||||
select * from t for system_time all;
|
||||
a
|
||||
alter table t drop column row_start;
|
||||
@ -383,30 +386,6 @@ ERROR HY000: Can not change system versioning field `row_start`
|
||||
insert into t values (1);
|
||||
alter table t modify column row_start bigint unsigned;
|
||||
ERROR HY000: Can not change system versioning field `row_start`
|
||||
create or replace table t (
|
||||
a int,
|
||||
row_start timestamp(6) as row start invisible,
|
||||
row_end timestamp(6) as row end invisible,
|
||||
period for system_time(row_start, row_end)
|
||||
) with system versioning;
|
||||
select * from t;
|
||||
a
|
||||
alter table t drop system versioning;
|
||||
ERROR HY000: System versioning field `row_start` exists
|
||||
alter table t drop column row_start;
|
||||
select * from t;
|
||||
a
|
||||
alter table t drop system versioning;
|
||||
ERROR HY000: System versioning field `row_end` exists
|
||||
alter table t drop column row_end;
|
||||
select * from t;
|
||||
a
|
||||
alter table t drop system versioning;
|
||||
show create table t;
|
||||
Table Create Table
|
||||
t CREATE TABLE `t` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
set system_versioning_alter_history= SURVIVE;
|
||||
ERROR 42000: Variable 'system_versioning_alter_history' can't be set to the value of 'SURVIVE'
|
||||
set system_versioning_alter_history= DROP;
|
||||
@ -465,5 +444,9 @@ ERROR 42S21: Duplicate column name 'row_start'
|
||||
set statement system_versioning_alter_history=keep for
|
||||
alter table t1 add column row_start timestamp(6);
|
||||
ERROR 42S21: Duplicate column name 'row_start'
|
||||
# MDEV-14798 Add, drop system versioning semantic and syntax
|
||||
create or replace table t (a int) with system versioning;
|
||||
alter table t add period for system_time(sys_trx_start, sys_trx_end);
|
||||
ERROR HY000: Table `t` is already system-versioned
|
||||
drop database test;
|
||||
create database test;
|
||||
|
@ -78,8 +78,11 @@ create or replace table t (
|
||||
with system versioning;
|
||||
|
||||
select * from t for system_time all;
|
||||
--error ER_MISSING
|
||||
alter table t drop column row_start;
|
||||
--error ER_MISSING
|
||||
alter table t drop column row_end;
|
||||
alter table t drop column row_start, drop column row_end;
|
||||
select * from t for system_time all;
|
||||
|
||||
--error ER_CANT_DROP_FIELD_OR_KEY
|
||||
@ -263,28 +266,6 @@ insert into t values (1);
|
||||
--error ER_VERS_ALTER_SYSTEM_FIELD
|
||||
alter table t modify column row_start bigint unsigned;
|
||||
|
||||
create or replace table t (
|
||||
a int,
|
||||
row_start timestamp(6) as row start invisible,
|
||||
row_end timestamp(6) as row end invisible,
|
||||
period for system_time(row_start, row_end)
|
||||
) with system versioning;
|
||||
select * from t;
|
||||
|
||||
--error ER_VERS_SYS_FIELD_EXISTS
|
||||
alter table t drop system versioning;
|
||||
alter table t drop column row_start;
|
||||
select * from t;
|
||||
|
||||
--error ER_VERS_SYS_FIELD_EXISTS
|
||||
alter table t drop system versioning;
|
||||
alter table t drop column row_end;
|
||||
select * from t;
|
||||
|
||||
alter table t drop system versioning;
|
||||
show create table t;
|
||||
|
||||
|
||||
## These experimental options are now disabled
|
||||
|
||||
--error ER_WRONG_VALUE_FOR_VAR
|
||||
@ -404,5 +385,11 @@ alter table t1 add column row_start int;
|
||||
set statement system_versioning_alter_history=keep for
|
||||
alter table t1 add column row_start timestamp(6);
|
||||
|
||||
--echo # MDEV-14798 Add, drop system versioning semantic and syntax
|
||||
create or replace table t (a int) with system versioning;
|
||||
|
||||
--error ER_VERS_ALREADY_VERSIONED
|
||||
alter table t add period for system_time(sys_trx_start, sys_trx_end);
|
||||
|
||||
drop database test;
|
||||
create database test;
|
||||
|
Reference in New Issue
Block a user