mariadb/mysql-test/suite/versioning/t/insert.test
2018-02-24 00:50:57 +01:00

82 lines
3 KiB
Text

source suite/versioning/engines.inc;
source suite/versioning/common.inc;
replace_result $sys_datatype_expl SYS_DATATYPE;
eval create or replace table t1(
x int unsigned,
y int unsigned,
sys_start $sys_datatype_expl as row start invisible,
sys_end $sys_datatype_expl as row end invisible,
period for system_time (sys_start, sys_end))
with system versioning;
insert into t1(x, y) values(3, 4);
insert into t1(x, y) values(2, 3);
insert into t1 values(40, 33);
replace_result $sys_datatype_max MAXVAL;
eval select x, y, sys_end < $sys_datatype_max from t1;
replace_result $sys_datatype_expl SYS_DATATYPE;
eval create or replace table t1(
id int unsigned auto_increment primary key,
x int unsigned,
y int unsigned,
sys_start $sys_datatype_expl as row start invisible,
sys_end $sys_datatype_expl as row end invisible,
period for system_time (sys_start, sys_end))
with system versioning;
insert into t1(x, y) values(33, 44);
insert into t1(id, x, y) values(20, 33, 44);
insert into t1 values(40, 33, 44);
replace_result $sys_datatype_max MAXVAL;
eval select id, x, y, sys_end < $sys_datatype_max from t1;
replace_result $sys_datatype_expl SYS_DATATYPE;
eval create or replace table t1(
x int unsigned,
y int unsigned,
sys_start $sys_datatype_expl as row start invisible,
sys_end $sys_datatype_expl as row end invisible,
period for system_time (sys_start, sys_end))
with system versioning;
create view vt1_1 as select x, y from t1;
insert into t1(x, y) values(8001, 9001);
insert into vt1_1(x, y) values(1001, 2001);
insert into vt1_1 values(1002, 2002);
replace_result $sys_datatype_max MAXVAL;
eval select x, y, sys_end < $sys_datatype_max from t1;
select x, y from vt1_1;
drop view vt1_1;
replace_result $sys_datatype_expl SYS_DATATYPE;
eval create or replace table t1( id bigint primary key, a int, b int) with system versioning;
insert into t1 values(1, 1, 1);
select row_start, row_end from t1 into @sys_start, @sys_end;
select id, a, b from t1;
insert into t1 values(2, 2, 2);
select id, a, b, row_start > @sys_start as C, row_end = @sys_end as D from t1 where id = 2;
drop table t1;
replace_result $sys_datatype_expl SYS_DATATYPE;
eval create or replace table t1(
x int unsigned,
y int unsigned,
sys_start $sys_datatype_expl as row start invisible,
sys_end $sys_datatype_expl as row end invisible,
period for system_time (sys_start, sys_end))
with system versioning;
create or replace table t2 like t1;
insert into t1(x, y) values (1, 1000), (2, 2000), (3, 3000), (4, 4000), (5, 5000), (6, 6000), (7, 7000), (8, 8000), (9, 9000);
delete from t1 where x >= 1;
insert into t1(x, y) values (1, 1001), (2, 2001), (3, 3001), (4, 4001), (5, 5001), (6, 6001);
insert into t1(x, y, sys_start) values (7, 7001, DEFAULT);
insert into t1(x, y, sys_end) values (8, 8001, DEFAULT);
insert into t1(x, y, sys_start, sys_end) values (9, 9001, DEFAULT, DEFAULT);
insert into t2 select x, y from t1 for system_time all;
select x, y from t1;
select x, y from t2;
drop table t1;
drop table t2;
-- source suite/versioning/common_finish.inc