From 44e581ebfccf055db164de865494d47766b2348b Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Tue, 18 Oct 2016 12:09:27 +0000 Subject: [PATCH] Tests: removed from main suite --- mysql-test/r/auto_increment.result | 59 -------- mysql-test/r/create.result | 185 ----------------------- mysql-test/r/delete.result | 190 ------------------------ mysql-test/r/insert.result | 212 --------------------------- mysql-test/r/insert_select.result | 133 ----------------- mysql-test/r/insert_update.result | 116 --------------- mysql-test/r/multi_update.result | 203 ------------------------- mysql-test/r/select.result | 65 -------- mysql-test/r/select_jcl6.result | 65 -------- mysql-test/r/select_pkeycache.result | 65 -------- mysql-test/r/update.result | 143 ------------------ mysql-test/t/auto_increment.test | 34 ----- mysql-test/t/create.test | 157 -------------------- mysql-test/t/delete.opt | 1 - mysql-test/t/delete.test | 85 ----------- mysql-test/t/insert.opt | 1 - mysql-test/t/insert.test | 183 ----------------------- mysql-test/t/insert_select.opt | 1 - mysql-test/t/insert_select.test | 83 ----------- mysql-test/t/insert_update.opt | 1 - mysql-test/t/insert_update.test | 73 --------- mysql-test/t/multi_update.opt | 1 - mysql-test/t/multi_update.test | 115 +-------------- mysql-test/t/select.test | 34 ----- mysql-test/t/update.opt | 1 - mysql-test/t/update.test | 90 ------------ 26 files changed, 1 insertion(+), 2295 deletions(-) delete mode 100644 mysql-test/t/delete.opt delete mode 100644 mysql-test/t/insert.opt delete mode 100644 mysql-test/t/insert_select.opt delete mode 100644 mysql-test/t/insert_update.opt delete mode 100644 mysql-test/t/multi_update.opt delete mode 100644 mysql-test/t/update.opt diff --git a/mysql-test/r/auto_increment.result b/mysql-test/r/auto_increment.result index bb684d1930f..12cbf294b69 100644 --- a/mysql-test/r/auto_increment.result +++ b/mysql-test/r/auto_increment.result @@ -537,62 +537,3 @@ pk -5 1 drop table t1; -# -# System Versioning Support -# -# -CREATE TABLE t1(id INT UNSIGNED AUTO_INCREMENT, x INT UNSIGNED, y INT UNSIGNED, Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end), PRIMARY KEY (id)) WITH SYSTEM VERSIONING; -CREATE TABLE T1(id INT UNSIGNED AUTO_INCREMENT, x INT UNSIGNED, y INT UNSIGNED, PRIMARY KEY (id)); -INSERT INTO t1(x, y) VALUES(1, 11); -INSERT INTO T1(x, y) VALUES(1, 11); -INSERT INTO t1(x, y) VALUES(2, 12); -INSERT INTO T1(x, y) VALUES(2, 12); -INSERT INTO t1(x, y) VALUES(3, 13); -INSERT INTO T1(x, y) VALUES(3, 13); -INSERT INTO t1(x, y) VALUES(4, 14); -INSERT INTO T1(x, y) VALUES(4, 14); -INSERT INTO t1(x, y) VALUES(5, 15); -INSERT INTO T1(x, y) VALUES(5, 15); -INSERT INTO t1(x, y) VALUES(6, 16); -INSERT INTO T1(x, y) VALUES(6, 16); -INSERT INTO t1(x, y) VALUES(7, 17); -INSERT INTO T1(x, y) VALUES(7, 17); -INSERT INTO t1(x, y) VALUES(8, 18); -INSERT INTO T1(x, y) VALUES(8, 18); -INSERT INTO t1(x, y) VALUES(9, 19); -INSERT INTO T1(x, y) VALUES(9, 19); -SELECT t1.x = T1.x AND t1.y = T1.y, t1.x, t1.y, T1.x, T1.y FROM t1 INNER JOIN T1 ON(t1.id = T1.id); -t1.x = T1.x AND t1.y = T1.y x y x y -1 1 11 1 11 -1 2 12 2 12 -1 3 13 3 13 -1 4 14 4 14 -1 5 15 5 15 -1 6 16 6 16 -1 7 17 7 17 -1 8 18 8 18 -1 9 19 9 19 -DELETE FROM t1 WHERE x=2; -DELETE FROM T1 WHERE x=2; -SELECT t1.x = T1.x AND t1.y = T1.y, t1.x, t1.y, T1.x, T1.y FROM t1 INNER JOIN T1 ON(t1.id = T1.id); -t1.x = T1.x AND t1.y = T1.y x y x y -1 1 11 1 11 -1 3 13 3 13 -1 4 14 4 14 -1 5 15 5 15 -1 6 16 6 16 -1 7 17 7 17 -1 8 18 8 18 -1 9 19 9 19 -DELETE FROM t1 WHERE x>7; -DELETE FROM T1 WHERE x>7; -SELECT t1.x = T1.x AND t1.y = T1.y, t1.x, t1.y, T1.x, T1.y FROM t1 INNER JOIN T1 ON(t1.id = T1.id); -t1.x = T1.x AND t1.y = T1.y x y x y -1 1 11 1 11 -1 3 13 3 13 -1 4 14 4 14 -1 5 15 5 15 -1 6 16 6 16 -1 7 17 7 17 -DROP TABLE t1; -DROP TABLE T1; diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result index 70037b4466e..2c67d33b3e7 100644 --- a/mysql-test/r/create.result +++ b/mysql-test/r/create.result @@ -1931,188 +1931,3 @@ create table t1 (i int, j int, key(i), key(i)) as select 1 as i, 2 as j; Warnings: Note 1831 Duplicate index `i_2`. This is deprecated and will be disallowed in a future release drop table t1; -# -# Test for SYSTEM VERSIONING CREATE -# -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `XNo` int(10) unsigned DEFAULT NULL, - `Sys_start` timestamp(6) NOT NULL GENERATED AS ROW START, - `Sys_end` timestamp(6) NOT NULL GENERATED AS ROW END, - PERIOD FOR SYSTEM_TIME (`Sys_start`, `Sys_end`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING -drop table if exists t1; -# Versioning fields are set implicitly. -create table t1 ( -XNo INT UNSIGNED -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `XNo` int(10) unsigned DEFAULT NULL, - `sys_trx_start` timestamp(6) NOT NULL GENERATED AS ROW START, - `sys_trx_end` timestamp(6) NOT NULL GENERATED AS ROW END, - PERIOD FOR SYSTEM_TIME (`sys_trx_start`, `sys_trx_end`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING -drop table if exists t1; -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_start2 TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; -ERROR HY000: 'Generated as row start' specified more than once -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end2 TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; -ERROR HY000: Second column in 'period for system time' must be equal to 'generated as row end' column -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -Sys_end2 TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; -ERROR HY000: Generated as row end specified more than once -create table t1 ( -XNo INT UNSIGNED, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; -ERROR HY000: 'Generated as row start' not specified -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -Sys_end2 TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -); -ERROR HY000: Generated as row end specified more than once -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_insert, Sys_remove) -) WITH SYSTEM VERSIONING; -ERROR HY000: First column in 'period for system time' must be equal to 'generated as row start' column -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -); -ERROR HY000: 'With system versioning' is missing -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_start) -); -ERROR HY000: 'Period for system_time' must contain two different columns -create table t1 ( -XNo INT UNSIGNED, -Sys_start INT GENERATED ALWAYS AS ROW START, -Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; -ERROR HY000: System start field must be of type TIMESTAMP -create table t1 ( -XNo INT UNSIGNED, -Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, -Sys_end INT GENERATED ALWAYS AS ROW END, -PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; -ERROR HY000: System end field must be of type TIMESTAMP -CREATE TABLE t1 ( -A INT WITH SYSTEM VERSIONING, -B INT -); -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `A` int(11) DEFAULT NULL, - `B` int(11) DEFAULT NULL WITHOUT SYSTEM VERSIONING, - `sys_trx_start` timestamp(6) NOT NULL GENERATED AS ROW START, - `sys_trx_end` timestamp(6) NOT NULL GENERATED AS ROW END, - PERIOD FOR SYSTEM_TIME (`sys_trx_start`, `sys_trx_end`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING -DROP TABLE t1; -CREATE TABLE t1 ( -A INT WITH SYSTEM VERSIONING, -B INT -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `A` int(11) DEFAULT NULL, - `B` int(11) DEFAULT NULL, - `sys_trx_start` timestamp(6) NOT NULL GENERATED AS ROW START, - `sys_trx_end` timestamp(6) NOT NULL GENERATED AS ROW END, - PERIOD FOR SYSTEM_TIME (`sys_trx_start`, `sys_trx_end`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING -DROP TABLE t1; -CREATE TABLE t1 ( -A INT, -B INT WITHOUT SYSTEM VERSIONING -); -ERROR HY000: Every field specified unversioned in versioned table -CREATE TABLE t1 ( -A INT, -B INT WITHOUT SYSTEM VERSIONING -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `A` int(11) DEFAULT NULL, - `B` int(11) DEFAULT NULL WITHOUT SYSTEM VERSIONING, - `sys_trx_start` timestamp(6) NOT NULL GENERATED AS ROW START, - `sys_trx_end` timestamp(6) NOT NULL GENERATED AS ROW END, - PERIOD FOR SYSTEM_TIME (`sys_trx_start`, `sys_trx_end`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING -DROP TABLE t1; -CREATE TABLE t1 ( -A INT WITH SYSTEM VERSIONING, -B INT WITHOUT SYSTEM VERSIONING -); -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `A` int(11) DEFAULT NULL, - `B` int(11) DEFAULT NULL WITHOUT SYSTEM VERSIONING, - `sys_trx_start` timestamp(6) NOT NULL GENERATED AS ROW START, - `sys_trx_end` timestamp(6) NOT NULL GENERATED AS ROW END, - PERIOD FOR SYSTEM_TIME (`sys_trx_start`, `sys_trx_end`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING -DROP TABLE t1; -CREATE TABLE t1 ( -A INT WITH SYSTEM VERSIONING, -B INT WITHOUT SYSTEM VERSIONING -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `A` int(11) DEFAULT NULL, - `B` int(11) DEFAULT NULL WITHOUT SYSTEM VERSIONING, - `sys_trx_start` timestamp(6) NOT NULL GENERATED AS ROW START, - `sys_trx_end` timestamp(6) NOT NULL GENERATED AS ROW END, - PERIOD FOR SYSTEM_TIME (`sys_trx_start`, `sys_trx_end`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING -DROP TABLE t1; -CREATE TABLE t1 ( -A INT WITHOUT SYSTEM VERSIONING -); -ERROR HY000: Every field specified unversioned in versioned table -CREATE TABLE t1 ( -A INT WITHOUT SYSTEM VERSIONING -) WITH SYSTEM VERSIONING; -ERROR HY000: Every field specified unversioned in versioned table diff --git a/mysql-test/r/delete.result b/mysql-test/r/delete.result index 4cb396511c1..ed3683d52f9 100644 --- a/mysql-test/r/delete.result +++ b/mysql-test/r/delete.result @@ -525,193 +525,3 @@ DELETE v2 FROM v2; ERROR HY000: Can not delete from join view 'test.v2' DROP VIEW v2, v1; DROP TABLE t1, t2; -# -# System Versioning Support -# -# -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; -create procedure test_01( -sys_type varchar(255), -engine varchar(255), -fields varchar(255)) -begin -set @str= concat(' - create table t1( - XNo int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); -prepare stmt from @str; execute stmt; drop prepare stmt; -insert into t1(XNo) values(0); -insert into t1(XNo) values(1); -insert into t1(XNo) values(2); -insert into t1(XNo) values(3); -insert into t1(XNo) values(4); -insert into t1(XNo) values(5); -insert into t1(XNo) values(6); -insert into t1(XNo) values(7); -insert into t1(XNo) values(8); -insert into t1(XNo) values(9); -set @str= concat('select XNo, ', -fields, " < '2038-01-19 03:14:07' - from t1 for system_time - between timestamp '0000-0-0 0:0:0' - and timestamp '2038-01-19 04:14:07'"); -prepare stmt from @str; execute stmt; -delete from t1 where XNo = 0; -execute stmt; -delete from t1 where XNo = 1; -execute stmt; -delete from t1 where XNo > 5; -create view vt1 as select XNo from t1; -select XNo from vt1; -delete from vt1 where XNo = 3; -select XNo from vt1; -execute stmt; drop prepare stmt; -drop view vt1; -drop table t1; -end~~ -call test_01('timestamp(6)', 'myisam', 'sys_end'); -XNo sys_end < '2038-01-19 03:14:07' -0 0 -1 0 -2 0 -3 0 -4 0 -5 0 -6 0 -7 0 -8 0 -9 0 -XNo sys_end < '2038-01-19 03:14:07' -0 1 -1 0 -2 0 -3 0 -4 0 -5 0 -6 0 -7 0 -8 0 -9 0 -XNo sys_end < '2038-01-19 03:14:07' -0 1 -1 1 -2 0 -3 0 -4 0 -5 0 -6 0 -7 0 -8 0 -9 0 -XNo -2 -3 -4 -5 -XNo -2 -4 -5 -XNo sys_end < '2038-01-19 03:14:07' -0 1 -1 1 -2 0 -3 1 -4 0 -5 0 -6 1 -7 1 -8 1 -9 1 -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -XNo commit_ts(sys_end) < '2038-01-19 03:14:07' -0 0 -1 0 -2 0 -3 0 -4 0 -5 0 -6 0 -7 0 -8 0 -9 0 -XNo commit_ts(sys_end) < '2038-01-19 03:14:07' -0 1 -1 0 -2 0 -3 0 -4 0 -5 0 -6 0 -7 0 -8 0 -9 0 -XNo commit_ts(sys_end) < '2038-01-19 03:14:07' -0 1 -1 1 -2 0 -3 0 -4 0 -5 0 -6 0 -7 0 -8 0 -9 0 -XNo -2 -3 -4 -5 -XNo -2 -4 -5 -XNo commit_ts(sys_end) < '2038-01-19 03:14:07' -0 1 -1 1 -2 0 -3 1 -4 0 -5 0 -6 1 -7 1 -8 1 -9 1 -drop procedure test_01; -create procedure verify_vtq() -begin -set @i= 0; -select -@i:= @i + 1 as No, -trx_id > 0 as A, -begin_ts > '1-1-1 0:0:0' as B, -commit_ts > begin_ts as C, -concurr_trx is null as D -from information_schema.innodb_vtq -where trx_id > @start_trx_id; -select ifnull(max(trx_id), 0) -into @start_trx_id -from information_schema.innodb_vtq; -end~~ -call verify_vtq; -No A B C D -1 1 1 1 1 -2 1 1 1 1 -3 1 1 1 1 -4 1 1 1 1 -5 1 1 1 1 -6 1 1 1 1 -7 1 1 1 1 -8 1 1 1 1 -9 1 1 1 1 -10 1 1 1 1 -11 1 1 1 1 -12 1 1 1 1 -13 1 1 1 1 -14 1 1 1 1 -drop procedure verify_vtq; diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result index b0e1b0d67a7..c9e3dc7b253 100644 --- a/mysql-test/r/insert.result +++ b/mysql-test/r/insert.result @@ -717,215 +717,3 @@ insert ignore into t1 values (1,12); Warnings: Warning 1062 Duplicate entry '1' for key 'f1' DROP TABLE t1; -# -# System Versioning Support -# -# -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; -create procedure test_01( -sys_type varchar(255), -engine varchar(255), -fields varchar(255)) -begin -set @str= concat(' - create table t1( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); -prepare stmt from @str; execute stmt; drop prepare stmt; -insert into t1(x, y) values(3, 4); -insert into t1(x, y) values(2, 3); -insert into t1 values(40, 33); -set @str= concat('select x, y, ', fields, ' from t1'); -prepare stmt from @str; execute stmt; drop prepare stmt; -drop table t1; -end~~ -call test_01('timestamp(6)', 'myisam', 'sys_end'); -x y sys_end -3 4 2038-01-19 03:14:07.000000 -2 3 2038-01-19 03:14:07.000000 -40 33 2038-01-19 03:14:07.000000 -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -x y commit_ts(sys_end) -3 4 2038-01-19 03:14:07.000000 -2 3 2038-01-19 03:14:07.000000 -40 33 2038-01-19 03:14:07.000000 -drop procedure test_01; -create procedure test_02( -sys_type varchar(255), -engine varchar(255), -fields varchar(255)) -begin -set @str= concat(' - create table t1( - id int unsigned auto_increment primary key, - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); -prepare stmt from @str; execute stmt; drop prepare stmt; -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); -set @str= concat('select id, x, y, ', fields, ' from t1'); -prepare stmt from @str; execute stmt; drop prepare stmt; -drop table t1; -end~~ -call test_02('timestamp(6)', 'myisam', 'sys_end'); -id x y sys_end -1 33 44 2038-01-19 03:14:07.000000 -20 33 44 2038-01-19 03:14:07.000000 -40 33 44 2038-01-19 03:14:07.000000 -call test_02('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -id x y commit_ts(sys_end) -1 33 44 2038-01-19 03:14:07.000000 -20 33 44 2038-01-19 03:14:07.000000 -40 33 44 2038-01-19 03:14:07.000000 -drop procedure test_02; -create procedure test_03( -sys_type varchar(255), -engine varchar(255), -fields varchar(255)) -begin -set @str= concat(' - create table t1( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); -prepare stmt from @str; execute stmt; drop prepare stmt; -create view vt1_1 as select x, y from t1; -create view vt1_2 as select x, y, sys_end 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); -insert into vt1_2(x, y) values(3001, 4001); -set @str= concat('select x, y, ', fields, ' from t1'); -prepare stmt from @str; execute stmt; drop prepare stmt; -select x, y from vt1_1; -set @str= concat('select x, y, ', fields, ' from vt1_2'); -prepare stmt from @str; execute stmt; drop prepare stmt; -end~~ -call test_03('timestamp(6)', 'myisam', 'sys_end'); -x y sys_end -8001 9001 2038-01-19 03:14:07.000000 -1001 2001 2038-01-19 03:14:07.000000 -1002 2002 2038-01-19 03:14:07.000000 -3001 4001 2038-01-19 03:14:07.000000 -x y -8001 9001 -1001 2001 -1002 2002 -3001 4001 -x y sys_end -8001 9001 2038-01-19 03:14:07.000000 -1001 2001 2038-01-19 03:14:07.000000 -1002 2002 2038-01-19 03:14:07.000000 -3001 4001 2038-01-19 03:14:07.000000 -insert into t1(x, y, sys_end) values(8001, 9001, '2015-1-1 1:1:1'); -ERROR HY000: Generated field for System Versioning cannot be set by user -insert into vt1_2 values(3002, 4002, '2015-2-2 2:2:2'); -ERROR HY000: Generated field for System Versioning cannot be set by user -drop table t1; -drop view vt1_1; -drop view vt1_2; -call test_03('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -x y commit_ts(sys_end) -8001 9001 2038-01-19 03:14:07.000000 -1001 2001 2038-01-19 03:14:07.000000 -1002 2002 2038-01-19 03:14:07.000000 -3001 4001 2038-01-19 03:14:07.000000 -x y -8001 9001 -1001 2001 -1002 2002 -3001 4001 -x y commit_ts(sys_end) -8001 9001 2038-01-19 03:14:07.000000 -1001 2001 2038-01-19 03:14:07.000000 -1002 2002 2038-01-19 03:14:07.000000 -3001 4001 2038-01-19 03:14:07.000000 -insert into t1(x, y, sys_end) values(8001, 9001, 1111111); -ERROR HY000: Generated field for System Versioning cannot be set by user -insert into vt1_2 values(3002, 4002, 2222222); -ERROR HY000: Generated field for System Versioning cannot be set by user -drop table t1; -drop view vt1_1; -drop view vt1_2; -drop procedure test_03; -create procedure verify_vtq() -begin -set @i= 0; -select -@i:= @i + 1 as No, -trx_id > 0 as A, -begin_ts > '1-1-1 0:0:0' as B, -commit_ts > begin_ts as C, -concurr_trx is null as D -from information_schema.innodb_vtq -where trx_id > @start_trx_id; -select ifnull(max(trx_id), 0) -into @start_trx_id -from information_schema.innodb_vtq; -end~~ -call verify_vtq; -No A B C D -1 1 1 1 1 -2 1 1 1 1 -3 1 1 1 1 -4 1 1 1 1 -5 1 1 1 1 -6 1 1 1 1 -7 1 1 1 1 -8 1 1 1 1 -9 1 1 1 1 -10 1 1 1 1 -create table t1( -x int unsigned, -sys_start bigint unsigned generated always as row start, -sys_end bigint unsigned generated always as row end, -period for system_time (sys_start, sys_end)) -with system versioning engine=innodb; -create table t2(x int unsigned) engine=innodb; -start transaction; -insert into t1(x) values(1); -commit; -call verify_vtq; -No A B C D -1 1 1 1 1 -start transaction; -insert into t2(x) values(1); -savepoint a; -insert into t1(x) values(1); -rollback to a; -commit; -call verify_vtq; -No A B C D -drop table t1; -drop table t2; -drop procedure verify_vtq; -CREATE TABLE t1( -id BIGINT PRIMARY KEY, -A INT, -B INT -) WITH SYSTEM VERSIONING; -INSERT INTO t1 VALUES(1, 1, 1); -DROP TABLE t1; -CREATE TABLE t1( -id BIGINT PRIMARY KEY, -A INT, -B INT -) WITH SYSTEM VERSIONING ENGINE=INNODB; -INSERT INTO t1 VALUES(1, 1, 1); -DROP TABLE t1; diff --git a/mysql-test/r/insert_select.result b/mysql-test/r/insert_select.result index 3d38a934c71..1a3a38b1f35 100644 --- a/mysql-test/r/insert_select.result +++ b/mysql-test/r/insert_select.result @@ -856,136 +856,3 @@ INSERT IGNORE INTO t1 SELECT t1.a FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6,t1 t7; SET GLOBAL myisam_data_pointer_size = @old_myisam_data_pointer_size; DROP TABLE t1; End of 5.1 tests -# -# System Versioning Support -# -# -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; -create procedure test_01( -sys_type varchar(255), -engine varchar(255), -fields varchar(255)) -begin -set @str= concat('( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); -set @str2= concat('create table t1', @str); -prepare stmt from @str2; execute stmt; drop prepare stmt; -set @str2= concat('create table t2', @str); -prepare stmt from @str2; execute stmt; drop prepare stmt; -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), -(7, 7001), -(8, 8001), -(9, 9001); -insert into t2 select x, y from t1 for system_time between timestamp '0000-0-0 0:0:0' and timestamp '9999-1-1 0:0:0'; -select x, y from t1; -select x, y from t2; -drop table t1; -drop table t2; -end~~ -call test_01('timestamp(6)', 'myisam', 'sys_end'); -x y -1 1001 -2 2001 -3 3001 -4 4001 -5 5001 -6 6001 -7 7001 -8 8001 -9 9001 -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8000 -9 9000 -1 1001 -2 2001 -3 3001 -4 4001 -5 5001 -6 6001 -7 7001 -8 8001 -9 9001 -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -x y -1 1001 -2 2001 -3 3001 -4 4001 -5 5001 -6 6001 -7 7001 -8 8001 -9 9001 -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8000 -9 9000 -1 1001 -2 2001 -3 3001 -4 4001 -5 5001 -6 6001 -7 7001 -8 8001 -9 9001 -drop procedure test_01; -create procedure verify_vtq() -begin -set @i= 0; -select -@i:= @i + 1 as No, -trx_id > 0 as A, -begin_ts > '1-1-1 0:0:0' as B, -commit_ts > begin_ts as C, -concurr_trx is null as D -from information_schema.innodb_vtq -where trx_id > @start_trx_id; -select ifnull(max(trx_id), 0) -into @start_trx_id -from information_schema.innodb_vtq; -end~~ -call verify_vtq; -No A B C D -1 1 1 1 1 -2 1 1 1 1 -3 1 1 1 1 -4 1 1 1 1 -drop procedure verify_vtq; diff --git a/mysql-test/r/insert_update.result b/mysql-test/r/insert_update.result index e8567afdd45..e8e6e16fe5a 100644 --- a/mysql-test/r/insert_update.result +++ b/mysql-test/r/insert_update.result @@ -412,119 +412,3 @@ select if( @stamp1 = @stamp2, "correct", "wrong"); if( @stamp1 = @stamp2, "correct", "wrong") correct drop table t1; -# -# System Versioning Support -# -# -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; -create procedure test_01( -sys_type varchar(255), -engine varchar(255), -fields varchar(255)) -begin -set @str= concat(' - create table t1( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end), - primary key(x, y)) - with system versioning - engine ', engine); -prepare stmt from @str; execute stmt; drop prepare stmt; -insert into t1(x, y) values -(1, 1000), -(2, 2000), -(3, 3000), -(4, 4000), -(5, 5000), -(6, 6000), -(7, 7000), -(8, 8000), -(9, 9000); -insert into t1(x, y) values(3, 3000) on duplicate key update y = y+1; -insert into t1(x, y) values(4, 4000) on duplicate key update y = y+1; -insert into t1(x, y) values(4, 4001) on duplicate key update y = y+1; -insert into t1(x, y) values(4, 4444) on duplicate key update y = y+1; -select x, y from t1 for system_time between timestamp '0-0-0 0:0:0' and timestamp '9999-1-1 0:0:0'; -select x, y from t1; -drop table t1; -end~~ -call test_01('timestamp(6)', 'myisam', 'sys_end'); -x y -1 1000 -2 2000 -3 3001 -4 4002 -5 5000 -6 6000 -7 7000 -8 8000 -9 9000 -3 3000 -4 4000 -4 4001 -4 4444 -x y -1 1000 -2 2000 -3 3001 -4 4002 -4 4444 -5 5000 -6 6000 -7 7000 -8 8000 -9 9000 -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -x y -1 1000 -2 2000 -3 3000 -3 3001 -4 4000 -4 4001 -4 4002 -4 4444 -5 5000 -6 6000 -7 7000 -8 8000 -9 9000 -x y -1 1000 -2 2000 -3 3001 -4 4002 -4 4444 -5 5000 -6 6000 -7 7000 -8 8000 -9 9000 -drop procedure test_01; -create procedure verify_vtq() -begin -set @i= 0; -select -@i:= @i + 1 as No, -trx_id > 0 as A, -begin_ts > '1-1-1 0:0:0' as B, -commit_ts > begin_ts as C, -concurr_trx is null as D -from information_schema.innodb_vtq -where trx_id > @start_trx_id; -select ifnull(max(trx_id), 0) -into @start_trx_id -from information_schema.innodb_vtq; -end~~ -call verify_vtq; -No A B C D -1 1 1 1 1 -2 1 1 1 1 -3 1 1 1 1 -4 1 1 1 1 -5 1 1 1 1 -drop procedure verify_vtq; diff --git a/mysql-test/r/multi_update.result b/mysql-test/r/multi_update.result index bb68029a490..6b60e155005 100644 --- a/mysql-test/r/multi_update.result +++ b/mysql-test/r/multi_update.result @@ -1056,206 +1056,3 @@ Note 1592 Unsafe statement written to the binary log using statement format sinc DROP TABLE table_11757486; SET SESSION SQL_MODE=default; end of 10.0 tests -# -# System Versioning Support -# -# -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; -create procedure test_01( -sys_type varchar(255), -engine varchar(255), -fields varchar(255)) -begin -set @str= concat('( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); -set @str2= concat('create table t1', @str); -prepare stmt from @str2; execute stmt; drop prepare stmt; -set @str2= concat('create table t2', @str); -prepare stmt from @str2; execute stmt; drop prepare stmt; -insert into t1(x, y) values -(1, 1000), -(2, 2000), -(3, 3000), -(4, 4000), -(5, 5000), -(6, 6000), -(7, 7000), -(8, 8000), -(9, 9000); -insert into t2(x, y) values -(1, 1010), -(2, 2010), -(3, 3010), -(4, 4010), -(5, 5010), -(6, 6010), -(7, 7010), -(8, 8010), -(9, 9010); -update t1, t2 set t1.y = t1.x + t1.y, t2.y = t2.x + t2.y where t1.x > 7 and t2.x < 7; -select x, y from t1 for system_time between timestamp '0-0-0 0:0:0' and timestamp '9999-1-1 0:0:0'; -select x, y from t1; -select x, y from t2 for system_time between timestamp '0-0-0 0:0:0' and timestamp '9999-1-1 0:0:0'; -select x, y from t2; -drop table t1; -drop table t2; -end~~ -call test_01('timestamp(6)', 'myisam', 'sys_end'); -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8008 -9 9009 -8 8000 -9 9000 -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8008 -9 9009 -x y -1 1011 -2 2012 -3 3013 -4 4014 -5 5015 -6 6016 -7 7010 -8 8010 -9 9010 -1 1010 -2 2010 -3 3010 -4 4010 -5 5010 -6 6010 -x y -1 1011 -2 2012 -3 3013 -4 4014 -5 5015 -6 6016 -7 7010 -8 8010 -9 9010 -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8008 -9 9009 -8 8000 -9 9000 -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8008 -9 9009 -x y -1 1011 -2 2012 -3 3013 -4 4014 -5 5015 -6 6016 -7 7010 -8 8010 -9 9010 -1 1010 -2 2010 -3 3010 -4 4010 -5 5010 -6 6010 -x y -1 1011 -2 2012 -3 3013 -4 4014 -5 5015 -6 6016 -7 7010 -8 8010 -9 9010 -drop procedure test_01; -create procedure verify_vtq() -begin -set @i= 0; -select -@i:= @i + 1 as No, -trx_id > 0 as A, -begin_ts > '1-1-1 0:0:0' as B, -commit_ts > begin_ts as C, -concurr_trx is null as D -from information_schema.innodb_vtq -where trx_id > @start_trx_id; -select ifnull(max(trx_id), 0) -into @start_trx_id -from information_schema.innodb_vtq; -end~~ -call verify_vtq; -No A B C D -1 1 1 1 1 -2 1 1 1 1 -3 1 1 1 1 -drop procedure verify_vtq; -CREATE TABLE t1 ( -id BIGINT PRIMARY KEY, -name VARCHAR(128) WITH SYSTEM VERSIONING, -salary BIGINT -); -INSERT INTO t1 VALUES (1, "Jeremy", 3000); -CREATE TABLE t2 ( -id BIGINT PRIMARY KEY, -name VARCHAR(128) WITH SYSTEM VERSIONING, -salary BIGINT -); -INSERT INTO t2 VALUES (1, "Jeremy", 4000); -SELECT sys_trx_start INTO @tmp1 FROM t1; -SELECT sys_trx_start INTO @tmp2 FROM t2; -UPDATE t1, t2 SET t1.name="Jerry", t2.name="Jerry" WHERE t1.id=t2.id AND t1.name="Jeremy"; -SELECT @tmp1 < sys_trx_start, name FROM t1; -@tmp1 < sys_trx_start name -1 Jerry -SELECT @tmp2 < sys_trx_start, name FROM t2; -@tmp2 < sys_trx_start name -1 Jerry -SELECT sys_trx_start INTO @tmp1 FROM t1; -SELECT sys_trx_start INTO @tmp2 FROM t2; -UPDATE t1, t2 SET t1.salary=2500, t2.salary=2500 WHERE t1.id=t2.id AND t1.name="Jerry"; -SELECT @tmp1 = sys_trx_start, salary FROM t1; -@tmp1 = sys_trx_start salary -1 2500 -SELECT @tmp2 = sys_trx_start, salary FROM t2; -@tmp2 = sys_trx_start salary -1 2500 -DROP TABLE t1; -DROP TABLE t2; diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result index ebcc1155fc9..c1640b6c707 100644 --- a/mysql-test/r/select.result +++ b/mysql-test/r/select.result @@ -5548,68 +5548,3 @@ select (SELECT name FROM t1 WHERE name='tom' AND pw=PASSWORD(@undefined)); NULL drop table t1; End of 10.0 tests -# -# System Versioning Support -# -# -CREATE TABLE t1( x INT UNSIGNED, y INT UNSIGNED, Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end)) WITH SYSTEM VERSIONING; -INSERT INTO t1(x, y) VALUES -(0, 100), -(1, 101), -(2, 102), -(3, 103), -(4, 104), -(5, 105), -(6, 106), -(7, 107), -(8, 108), -(9, 109); -DELETE FROM t1 WHERE x = 3; -DELETE FROM t1 WHERE x > 7; -INSERT INTO t1(x, y) VALUES(3, 33); -SELECT @time := Sys_start FROM t1 WHERE x = 3 AND y = 33 FOR SYSTEM_TIME BETWEEN TIMESTAMP '0-0-0 0:0:0' AND TIMESTAMP '2038-01-19 04:14:07'; -@time := Sys_start -Sys_start -SELECT x, y FROM t1; -x y -0 100 -1 101 -2 102 -4 104 -5 105 -6 106 -7 107 -3 33 -SET @query=CONCAT('SELECT x, y FROM t1 FOR SYSTEM_TIME FROM TIMESTAMP \'0-0-0 0:0:0\' TO TIMESTAMP \'', @time, '\''); -PREPARE stmt_t1 FROM @query; -EXECUTE stmt_t1; -x y -0 100 -1 101 -2 102 -3 103 -4 104 -5 105 -6 106 -7 107 -8 108 -9 109 -SET @query=CONCAT('SELECT x, y FROM t1 FOR SYSTEM_TIME BETWEEN TIMESTAMP \'0-0-0 0:0:0\' AND TIMESTAMP \'', @time, '\''); -PREPARE stmt_t1 FROM @query; -EXECUTE stmt_t1; -x y -0 100 -1 101 -2 102 -3 103 -4 104 -5 105 -6 106 -7 107 -8 108 -9 109 -3 33 -SET @time=NULL; -SET @query=NULL; -DEALLOCATE PREPARE stmt_t1; -DROP TABLE t1; diff --git a/mysql-test/r/select_jcl6.result b/mysql-test/r/select_jcl6.result index be93151ea6f..9cf4fd85dea 100644 --- a/mysql-test/r/select_jcl6.result +++ b/mysql-test/r/select_jcl6.result @@ -5559,71 +5559,6 @@ select (SELECT name FROM t1 WHERE name='tom' AND pw=PASSWORD(@undefined)); NULL drop table t1; End of 10.0 tests -# -# System Versioning Support -# -# -CREATE TABLE t1( x INT UNSIGNED, y INT UNSIGNED, Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end)) WITH SYSTEM VERSIONING; -INSERT INTO t1(x, y) VALUES -(0, 100), -(1, 101), -(2, 102), -(3, 103), -(4, 104), -(5, 105), -(6, 106), -(7, 107), -(8, 108), -(9, 109); -DELETE FROM t1 WHERE x = 3; -DELETE FROM t1 WHERE x > 7; -INSERT INTO t1(x, y) VALUES(3, 33); -SELECT @time := Sys_start FROM t1 WHERE x = 3 AND y = 33 FOR SYSTEM_TIME BETWEEN TIMESTAMP '0-0-0 0:0:0' AND TIMESTAMP '2038-01-19 04:14:07'; -@time := Sys_start -Sys_start -SELECT x, y FROM t1; -x y -0 100 -1 101 -2 102 -4 104 -5 105 -6 106 -7 107 -3 33 -SET @query=CONCAT('SELECT x, y FROM t1 FOR SYSTEM_TIME FROM TIMESTAMP \'0-0-0 0:0:0\' TO TIMESTAMP \'', @time, '\''); -PREPARE stmt_t1 FROM @query; -EXECUTE stmt_t1; -x y -0 100 -1 101 -2 102 -3 103 -4 104 -5 105 -6 106 -7 107 -8 108 -9 109 -SET @query=CONCAT('SELECT x, y FROM t1 FOR SYSTEM_TIME BETWEEN TIMESTAMP \'0-0-0 0:0:0\' AND TIMESTAMP \'', @time, '\''); -PREPARE stmt_t1 FROM @query; -EXECUTE stmt_t1; -x y -0 100 -1 101 -2 102 -3 103 -4 104 -5 105 -6 106 -7 107 -8 108 -9 109 -3 33 -SET @time=NULL; -SET @query=NULL; -DEALLOCATE PREPARE stmt_t1; -DROP TABLE t1; set join_cache_level=default; show variables like 'join_cache_level'; Variable_name Value diff --git a/mysql-test/r/select_pkeycache.result b/mysql-test/r/select_pkeycache.result index ebcc1155fc9..c1640b6c707 100644 --- a/mysql-test/r/select_pkeycache.result +++ b/mysql-test/r/select_pkeycache.result @@ -5548,68 +5548,3 @@ select (SELECT name FROM t1 WHERE name='tom' AND pw=PASSWORD(@undefined)); NULL drop table t1; End of 10.0 tests -# -# System Versioning Support -# -# -CREATE TABLE t1( x INT UNSIGNED, y INT UNSIGNED, Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end)) WITH SYSTEM VERSIONING; -INSERT INTO t1(x, y) VALUES -(0, 100), -(1, 101), -(2, 102), -(3, 103), -(4, 104), -(5, 105), -(6, 106), -(7, 107), -(8, 108), -(9, 109); -DELETE FROM t1 WHERE x = 3; -DELETE FROM t1 WHERE x > 7; -INSERT INTO t1(x, y) VALUES(3, 33); -SELECT @time := Sys_start FROM t1 WHERE x = 3 AND y = 33 FOR SYSTEM_TIME BETWEEN TIMESTAMP '0-0-0 0:0:0' AND TIMESTAMP '2038-01-19 04:14:07'; -@time := Sys_start -Sys_start -SELECT x, y FROM t1; -x y -0 100 -1 101 -2 102 -4 104 -5 105 -6 106 -7 107 -3 33 -SET @query=CONCAT('SELECT x, y FROM t1 FOR SYSTEM_TIME FROM TIMESTAMP \'0-0-0 0:0:0\' TO TIMESTAMP \'', @time, '\''); -PREPARE stmt_t1 FROM @query; -EXECUTE stmt_t1; -x y -0 100 -1 101 -2 102 -3 103 -4 104 -5 105 -6 106 -7 107 -8 108 -9 109 -SET @query=CONCAT('SELECT x, y FROM t1 FOR SYSTEM_TIME BETWEEN TIMESTAMP \'0-0-0 0:0:0\' AND TIMESTAMP \'', @time, '\''); -PREPARE stmt_t1 FROM @query; -EXECUTE stmt_t1; -x y -0 100 -1 101 -2 102 -3 103 -4 104 -5 105 -6 106 -7 107 -8 108 -9 109 -3 33 -SET @time=NULL; -SET @query=NULL; -DEALLOCATE PREPARE stmt_t1; -DROP TABLE t1; diff --git a/mysql-test/r/update.result b/mysql-test/r/update.result index e0e58985adc..73ebb73e313 100644 --- a/mysql-test/r/update.result +++ b/mysql-test/r/update.result @@ -719,146 +719,3 @@ Handler_read_rnd_deleted 0 Handler_read_rnd_next 0 drop table t1, t2; # End of MariaDB 10.0 tests -# -# System Versioning Support -# -# -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; -create procedure test_01( -sys_type varchar(255), -engine varchar(255), -fields varchar(255)) -begin -set @str= concat(' - create table t1( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); -prepare stmt from @str; execute stmt; drop prepare stmt; -insert into t1(x, y) values -(1, 1000), -(2, 2000), -(3, 3000), -(4, 4000), -(5, 5000), -(6, 6000), -(7, 7000), -(8, 8000), -(9, 9000); -select x, y from t1; -update t1 set y = y + 1 where x > 7; -select x, y from t1; -select x, y from t1 for system_time -between timestamp '0000-0-0 0:0:0' - and timestamp '2038-01-19 04:14:07'; -drop table t1; -end~~ -call test_01('timestamp(6)', 'myisam', 'sys_end'); -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8000 -9 9000 -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8001 -9 9001 -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8001 -9 9001 -8 8000 -9 9000 -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8000 -9 9000 -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8001 -9 9001 -x y -1 1000 -2 2000 -3 3000 -4 4000 -5 5000 -6 6000 -7 7000 -8 8001 -9 9001 -8 8000 -9 9000 -drop procedure test_01; -create procedure verify_vtq() -begin -set @i= 0; -select -@i:= @i + 1 as No, -trx_id > 0 as A, -begin_ts > '1-1-1 0:0:0' as B, -commit_ts > begin_ts as C, -concurr_trx is null as D -from information_schema.innodb_vtq -where trx_id > @start_trx_id; -select ifnull(max(trx_id), 0) -into @start_trx_id -from information_schema.innodb_vtq; -end~~ -call verify_vtq; -No A B C D -1 1 1 1 1 -2 1 1 1 1 -drop procedure verify_vtq; -CREATE TABLE t1 ( -id BIGINT PRIMARY KEY, -A INT, -B INT WITHOUT SYSTEM VERSIONING -) WITH SYSTEM VERSIONING; -INSERT INTO t1 VALUES(1, 1, 1); -SELECT sys_trx_start INTO @tmp1 FROM t1; -UPDATE t1 SET A=11, B=11 WHERE id=1; -SELECT @tmp1 < sys_trx_start, A, B FROM t1; -@tmp1 < sys_trx_start A B -1 11 11 -SELECT sys_trx_start INTO @tmp1 FROM t1; -UPDATE t1 SET B=1 WHERE id=1; -SELECT @tmp1 = sys_trx_start, B FROM t1; -@tmp1 = sys_trx_start B -1 1 -DROP TABLE t1; diff --git a/mysql-test/t/auto_increment.test b/mysql-test/t/auto_increment.test index dca4b026c80..7f0ab5dc169 100644 --- a/mysql-test/t/auto_increment.test +++ b/mysql-test/t/auto_increment.test @@ -397,37 +397,3 @@ insert into t1 values(null); select last_insert_id(); select * from t1; drop table t1; - ---echo # ---echo # System Versioning Support ---echo # ---echo # -CREATE TABLE t1(id INT UNSIGNED AUTO_INCREMENT, x INT UNSIGNED, y INT UNSIGNED, Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end), PRIMARY KEY (id)) WITH SYSTEM VERSIONING; -CREATE TABLE T1(id INT UNSIGNED AUTO_INCREMENT, x INT UNSIGNED, y INT UNSIGNED, PRIMARY KEY (id)); -INSERT INTO t1(x, y) VALUES(1, 11); -INSERT INTO T1(x, y) VALUES(1, 11); -INSERT INTO t1(x, y) VALUES(2, 12); -INSERT INTO T1(x, y) VALUES(2, 12); -INSERT INTO t1(x, y) VALUES(3, 13); -INSERT INTO T1(x, y) VALUES(3, 13); -INSERT INTO t1(x, y) VALUES(4, 14); -INSERT INTO T1(x, y) VALUES(4, 14); -INSERT INTO t1(x, y) VALUES(5, 15); -INSERT INTO T1(x, y) VALUES(5, 15); -INSERT INTO t1(x, y) VALUES(6, 16); -INSERT INTO T1(x, y) VALUES(6, 16); -INSERT INTO t1(x, y) VALUES(7, 17); -INSERT INTO T1(x, y) VALUES(7, 17); -INSERT INTO t1(x, y) VALUES(8, 18); -INSERT INTO T1(x, y) VALUES(8, 18); -INSERT INTO t1(x, y) VALUES(9, 19); -INSERT INTO T1(x, y) VALUES(9, 19); -SELECT t1.x = T1.x AND t1.y = T1.y, t1.x, t1.y, T1.x, T1.y FROM t1 INNER JOIN T1 ON(t1.id = T1.id); -DELETE FROM t1 WHERE x=2; -DELETE FROM T1 WHERE x=2; -SELECT t1.x = T1.x AND t1.y = T1.y, t1.x, t1.y, T1.x, T1.y FROM t1 INNER JOIN T1 ON(t1.id = T1.id); -DELETE FROM t1 WHERE x>7; -DELETE FROM T1 WHERE x>7; -SELECT t1.x = T1.x AND t1.y = T1.y, t1.x, t1.y, T1.x, T1.y FROM t1 INNER JOIN T1 ON(t1.id = T1.id); -DROP TABLE t1; -DROP TABLE T1; diff --git a/mysql-test/t/create.test b/mysql-test/t/create.test index ebdd3794176..6461204f06e 100644 --- a/mysql-test/t/create.test +++ b/mysql-test/t/create.test @@ -1781,160 +1781,3 @@ create table t1; # create table t1 (i int, j int, key(i), key(i)) as select 1 as i, 2 as j; drop table t1; - -# -# Create table SYSTEM VERSIONING -# ---echo # ---echo # Test for SYSTEM VERSIONING CREATE ---echo # - -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; - -drop table if exists t1; - ---echo # Versioning fields are set implicitly. -create table t1 ( - XNo INT UNSIGNED -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; - -drop table if exists t1; - ---error ER_SYS_START_MORE_THAN_ONCE -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_start2 TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; - ---error ER_PERIOD_FOR_SYSTEM_TIME_CONTAINS_WRONG_END_COLUMN -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end2 TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; - ---error ER_SYS_END_MORE_THAN_ONCE -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - Sys_end2 TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; - ---error ER_SYS_START_NOT_SPECIFIED -create table t1 ( - XNo INT UNSIGNED, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; - ---error ER_SYS_END_MORE_THAN_ONCE -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - Sys_end2 TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -); - ---error ER_PERIOD_FOR_SYSTEM_TIME_CONTAINS_WRONG_START_COLUMN -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_insert, Sys_remove) -) WITH SYSTEM VERSIONING; - ---error ER_MISSING_WITH_SYSTEM_VERSIONING -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -); - ---error ER_SYS_START_AND_SYS_END_SAME -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_start) -); - ---error ER_SYS_START_FIELD_MUST_BE_TIMESTAMP -create table t1 ( - XNo INT UNSIGNED, - Sys_start INT GENERATED ALWAYS AS ROW START, - Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; - ---error ER_SYS_END_FIELD_MUST_BE_TIMESTAMP -create table t1 ( - XNo INT UNSIGNED, - Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, - Sys_end INT GENERATED ALWAYS AS ROW END, - PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end) -) WITH SYSTEM VERSIONING; - -CREATE TABLE t1 ( - A INT WITH SYSTEM VERSIONING, - B INT -); -SHOW CREATE TABLE t1; -DROP TABLE t1; - -CREATE TABLE t1 ( - A INT WITH SYSTEM VERSIONING, - B INT -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; -DROP TABLE t1; - ---error ER_NO_VERSIONED_FIELDS_IN_VERSIONED_TABLE -CREATE TABLE t1 ( - A INT, - B INT WITHOUT SYSTEM VERSIONING -); - -CREATE TABLE t1 ( - A INT, - B INT WITHOUT SYSTEM VERSIONING -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; -DROP TABLE t1; - -CREATE TABLE t1 ( - A INT WITH SYSTEM VERSIONING, - B INT WITHOUT SYSTEM VERSIONING -); -SHOW CREATE TABLE t1; -DROP TABLE t1; - -CREATE TABLE t1 ( - A INT WITH SYSTEM VERSIONING, - B INT WITHOUT SYSTEM VERSIONING -) WITH SYSTEM VERSIONING; -SHOW CREATE TABLE t1; -DROP TABLE t1; - ---error ER_NO_VERSIONED_FIELDS_IN_VERSIONED_TABLE -CREATE TABLE t1 ( - A INT WITHOUT SYSTEM VERSIONING -); - ---error ER_NO_VERSIONED_FIELDS_IN_VERSIONED_TABLE -CREATE TABLE t1 ( - A INT WITHOUT SYSTEM VERSIONING -) WITH SYSTEM VERSIONING; diff --git a/mysql-test/t/delete.opt b/mysql-test/t/delete.opt deleted file mode 100644 index 32a25eea24f..00000000000 --- a/mysql-test/t/delete.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb-vtq diff --git a/mysql-test/t/delete.test b/mysql-test/t/delete.test index 00e06f27243..c82420640c2 100644 --- a/mysql-test/t/delete.test +++ b/mysql-test/t/delete.test @@ -582,88 +582,3 @@ DELETE v2 FROM v2; DROP VIEW v2, v1; DROP TABLE t1, t2; - -# -# SQL DELETE for SYSTEM VERSIONING -# ---echo # ---echo # System Versioning Support ---echo # ---echo # - --- source include/have_innodb.inc -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; - -delimiter ~~; -create procedure test_01( - sys_type varchar(255), - engine varchar(255), - fields varchar(255)) -begin - set @str= concat(' - create table t1( - XNo int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); - prepare stmt from @str; execute stmt; drop prepare stmt; - insert into t1(XNo) values(0); - insert into t1(XNo) values(1); - insert into t1(XNo) values(2); - insert into t1(XNo) values(3); - insert into t1(XNo) values(4); - insert into t1(XNo) values(5); - insert into t1(XNo) values(6); - insert into t1(XNo) values(7); - insert into t1(XNo) values(8); - insert into t1(XNo) values(9); - set @str= concat('select XNo, ', - fields, " < '2038-01-19 03:14:07' - from t1 for system_time - between timestamp '0000-0-0 0:0:0' - and timestamp '2038-01-19 04:14:07'"); - prepare stmt from @str; execute stmt; - delete from t1 where XNo = 0; - execute stmt; - delete from t1 where XNo = 1; - execute stmt; - delete from t1 where XNo > 5; - create view vt1 as select XNo from t1; - select XNo from vt1; - delete from vt1 where XNo = 3; - select XNo from vt1; - execute stmt; drop prepare stmt; - drop view vt1; - drop table t1; -end~~ -delimiter ;~~ - -call test_01('timestamp(6)', 'myisam', 'sys_end'); -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -drop procedure test_01; - -# VTQ test - -delimiter ~~; -create procedure verify_vtq() -begin - set @i= 0; - select - @i:= @i + 1 as No, - trx_id > 0 as A, - begin_ts > '1-1-1 0:0:0' as B, - commit_ts > begin_ts as C, - concurr_trx is null as D - from information_schema.innodb_vtq - where trx_id > @start_trx_id; - select ifnull(max(trx_id), 0) - into @start_trx_id - from information_schema.innodb_vtq; -end~~ -delimiter ;~~ - -call verify_vtq; -drop procedure verify_vtq; diff --git a/mysql-test/t/insert.opt b/mysql-test/t/insert.opt deleted file mode 100644 index 32a25eea24f..00000000000 --- a/mysql-test/t/insert.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb-vtq diff --git a/mysql-test/t/insert.test b/mysql-test/t/insert.test index ed4fb5ecc68..206c5553100 100644 --- a/mysql-test/t/insert.test +++ b/mysql-test/t/insert.test @@ -573,186 +573,3 @@ insert ignore into t1 values (1,12) on duplicate key update f2=13; set @@old_mode=""; insert ignore into t1 values (1,12); DROP TABLE t1; - ---echo # ---echo # System Versioning Support ---echo # ---echo # - --- source include/have_innodb.inc -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; - -delimiter ~~; -create procedure test_01( - sys_type varchar(255), - engine varchar(255), - fields varchar(255)) -begin - set @str= concat(' - create table t1( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); - prepare stmt from @str; execute stmt; drop prepare stmt; - insert into t1(x, y) values(3, 4); - insert into t1(x, y) values(2, 3); - insert into t1 values(40, 33); - set @str= concat('select x, y, ', fields, ' from t1'); - prepare stmt from @str; execute stmt; drop prepare stmt; - drop table t1; -end~~ -delimiter ;~~ - -call test_01('timestamp(6)', 'myisam', 'sys_end'); -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -drop procedure test_01; - -delimiter ~~; -create procedure test_02( - sys_type varchar(255), - engine varchar(255), - fields varchar(255)) -begin - set @str= concat(' - create table t1( - id int unsigned auto_increment primary key, - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); - prepare stmt from @str; execute stmt; drop prepare stmt; - 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); - set @str= concat('select id, x, y, ', fields, ' from t1'); - prepare stmt from @str; execute stmt; drop prepare stmt; - drop table t1; -end~~ -delimiter ;~~ - -call test_02('timestamp(6)', 'myisam', 'sys_end'); -call test_02('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -drop procedure test_02; - -delimiter ~~; -create procedure test_03( - sys_type varchar(255), - engine varchar(255), - fields varchar(255)) -begin - set @str= concat(' - create table t1( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); - prepare stmt from @str; execute stmt; drop prepare stmt; - create view vt1_1 as select x, y from t1; - create view vt1_2 as select x, y, sys_end 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); - insert into vt1_2(x, y) values(3001, 4001); - set @str= concat('select x, y, ', fields, ' from t1'); - prepare stmt from @str; execute stmt; drop prepare stmt; - select x, y from vt1_1; - set @str= concat('select x, y, ', fields, ' from vt1_2'); - prepare stmt from @str; execute stmt; drop prepare stmt; -end~~ -delimiter ;~~ - -call test_03('timestamp(6)', 'myisam', 'sys_end'); ---ERROR ER_GENERATED_FIELD_CANNOT_BE_SET_BY_USER -insert into t1(x, y, sys_end) values(8001, 9001, '2015-1-1 1:1:1'); ---ERROR ER_GENERATED_FIELD_CANNOT_BE_SET_BY_USER -insert into vt1_2 values(3002, 4002, '2015-2-2 2:2:2'); -drop table t1; -drop view vt1_1; -drop view vt1_2; - -call test_03('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); ---ERROR ER_GENERATED_FIELD_CANNOT_BE_SET_BY_USER -insert into t1(x, y, sys_end) values(8001, 9001, 1111111); ---ERROR ER_GENERATED_FIELD_CANNOT_BE_SET_BY_USER -insert into vt1_2 values(3002, 4002, 2222222); -drop table t1; -drop view vt1_1; -drop view vt1_2; -drop procedure test_03; - -# VTQ test - -delimiter ~~; -create procedure verify_vtq() -begin - set @i= 0; - select - @i:= @i + 1 as No, - trx_id > 0 as A, - begin_ts > '1-1-1 0:0:0' as B, - commit_ts > begin_ts as C, - concurr_trx is null as D - from information_schema.innodb_vtq - where trx_id > @start_trx_id; - select ifnull(max(trx_id), 0) - into @start_trx_id - from information_schema.innodb_vtq; -end~~ -delimiter ;~~ - -call verify_vtq; - -create table t1( - x int unsigned, - sys_start bigint unsigned generated always as row start, - sys_end bigint unsigned generated always as row end, - period for system_time (sys_start, sys_end)) -with system versioning engine=innodb; - -create table t2(x int unsigned) engine=innodb; - -start transaction; -insert into t1(x) values(1); -commit; -call verify_vtq; - -start transaction; -insert into t2(x) values(1); -savepoint a; -insert into t1(x) values(1); -rollback to a; -commit; -call verify_vtq; - -drop table t1; -drop table t2; -drop procedure verify_vtq; - -# Check whether it is possible to insert rows in a versioned table -# with implicit fields without crash. -CREATE TABLE t1( - id BIGINT PRIMARY KEY, - A INT, - B INT -) WITH SYSTEM VERSIONING; -INSERT INTO t1 VALUES(1, 1, 1); -DROP TABLE t1; - -CREATE TABLE t1( - id BIGINT PRIMARY KEY, - A INT, - B INT -) WITH SYSTEM VERSIONING ENGINE=INNODB; -INSERT INTO t1 VALUES(1, 1, 1); -DROP TABLE t1; diff --git a/mysql-test/t/insert_select.opt b/mysql-test/t/insert_select.opt deleted file mode 100644 index 32a25eea24f..00000000000 --- a/mysql-test/t/insert_select.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb-vtq diff --git a/mysql-test/t/insert_select.test b/mysql-test/t/insert_select.test index d2826fceec8..fda89f18d99 100644 --- a/mysql-test/t/insert_select.test +++ b/mysql-test/t/insert_select.test @@ -425,86 +425,3 @@ SET GLOBAL myisam_data_pointer_size = @old_myisam_data_pointer_size; DROP TABLE t1; --echo End of 5.1 tests - ---echo # ---echo # System Versioning Support ---echo # ---echo # - --- source include/have_innodb.inc -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; - -delimiter ~~; -create procedure test_01( - sys_type varchar(255), - engine varchar(255), - fields varchar(255)) -begin - set @str= concat('( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); - set @str2= concat('create table t1', @str); - prepare stmt from @str2; execute stmt; drop prepare stmt; - set @str2= concat('create table t2', @str); - prepare stmt from @str2; execute stmt; drop prepare stmt; - 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), - (7, 7001), - (8, 8001), - (9, 9001); - insert into t2 select x, y from t1 for system_time between timestamp '0000-0-0 0:0:0' and timestamp '9999-1-1 0:0:0'; - select x, y from t1; - select x, y from t2; - drop table t1; - drop table t2; -end~~ -delimiter ;~~ - -call test_01('timestamp(6)', 'myisam', 'sys_end'); -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -drop procedure test_01; - -# VTQ test - -delimiter ~~; -create procedure verify_vtq() -begin - set @i= 0; - select - @i:= @i + 1 as No, - trx_id > 0 as A, - begin_ts > '1-1-1 0:0:0' as B, - commit_ts > begin_ts as C, - concurr_trx is null as D - from information_schema.innodb_vtq - where trx_id > @start_trx_id; - select ifnull(max(trx_id), 0) - into @start_trx_id - from information_schema.innodb_vtq; -end~~ -delimiter ;~~ - -call verify_vtq; -drop procedure verify_vtq; diff --git a/mysql-test/t/insert_update.opt b/mysql-test/t/insert_update.opt deleted file mode 100644 index 32a25eea24f..00000000000 --- a/mysql-test/t/insert_update.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb-vtq diff --git a/mysql-test/t/insert_update.test b/mysql-test/t/insert_update.test index f2b571fba7e..7234973eeb8 100644 --- a/mysql-test/t/insert_update.test +++ b/mysql-test/t/insert_update.test @@ -311,76 +311,3 @@ insert into t1(f1) values(1) on duplicate key update f1=1; select @stamp2:=f2 from t1; select if( @stamp1 = @stamp2, "correct", "wrong"); drop table t1; - ---echo # ---echo # System Versioning Support ---echo # ---echo # - --- source include/have_innodb.inc -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; - -delimiter ~~; -create procedure test_01( - sys_type varchar(255), - engine varchar(255), - fields varchar(255)) -begin - set @str= concat(' - create table t1( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end), - primary key(x, y)) - with system versioning - engine ', engine); - prepare stmt from @str; execute stmt; drop prepare stmt; - insert into t1(x, y) values - (1, 1000), - (2, 2000), - (3, 3000), - (4, 4000), - (5, 5000), - (6, 6000), - (7, 7000), - (8, 8000), - (9, 9000); - insert into t1(x, y) values(3, 3000) on duplicate key update y = y+1; - insert into t1(x, y) values(4, 4000) on duplicate key update y = y+1; - insert into t1(x, y) values(4, 4001) on duplicate key update y = y+1; - insert into t1(x, y) values(4, 4444) on duplicate key update y = y+1; - select x, y from t1 for system_time between timestamp '0-0-0 0:0:0' and timestamp '9999-1-1 0:0:0'; - select x, y from t1; - drop table t1; -end~~ -delimiter ;~~ - -call test_01('timestamp(6)', 'myisam', 'sys_end'); -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -drop procedure test_01; - -# VTQ test - -delimiter ~~; -create procedure verify_vtq() -begin - set @i= 0; - select - @i:= @i + 1 as No, - trx_id > 0 as A, - begin_ts > '1-1-1 0:0:0' as B, - commit_ts > begin_ts as C, - concurr_trx is null as D - from information_schema.innodb_vtq - where trx_id > @start_trx_id; - select ifnull(max(trx_id), 0) - into @start_trx_id - from information_schema.innodb_vtq; -end~~ -delimiter ;~~ - -call verify_vtq; -drop procedure verify_vtq; diff --git a/mysql-test/t/multi_update.opt b/mysql-test/t/multi_update.opt deleted file mode 100644 index 32a25eea24f..00000000000 --- a/mysql-test/t/multi_update.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb-vtq diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test index 3ee7ab3bcf4..4ed90369c27 100644 --- a/mysql-test/t/multi_update.test +++ b/mysql-test/t/multi_update.test @@ -986,7 +986,7 @@ drop table t1,t2,t3; --echo end of 5.5 tests -#--source include/have_xtradb.inc +--source include/have_xtradb.inc --echo --echo # Bug mdev-5970 @@ -1035,116 +1035,3 @@ DROP TABLE table_11757486; SET SESSION SQL_MODE=default; --echo end of 10.0 tests - ---echo # ---echo # System Versioning Support ---echo # ---echo # - --- source include/have_innodb.inc -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; - -delimiter ~~; -create procedure test_01( - sys_type varchar(255), - engine varchar(255), - fields varchar(255)) -begin - set @str= concat('( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); - set @str2= concat('create table t1', @str); - prepare stmt from @str2; execute stmt; drop prepare stmt; - set @str2= concat('create table t2', @str); - prepare stmt from @str2; execute stmt; drop prepare stmt; - insert into t1(x, y) values - (1, 1000), - (2, 2000), - (3, 3000), - (4, 4000), - (5, 5000), - (6, 6000), - (7, 7000), - (8, 8000), - (9, 9000); - insert into t2(x, y) values - (1, 1010), - (2, 2010), - (3, 3010), - (4, 4010), - (5, 5010), - (6, 6010), - (7, 7010), - (8, 8010), - (9, 9010); - update t1, t2 set t1.y = t1.x + t1.y, t2.y = t2.x + t2.y where t1.x > 7 and t2.x < 7; - select x, y from t1 for system_time between timestamp '0-0-0 0:0:0' and timestamp '9999-1-1 0:0:0'; - select x, y from t1; - select x, y from t2 for system_time between timestamp '0-0-0 0:0:0' and timestamp '9999-1-1 0:0:0'; - select x, y from t2; - drop table t1; - drop table t2; -end~~ -delimiter ;~~ - -call test_01('timestamp(6)', 'myisam', 'sys_end'); -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -drop procedure test_01; - -# VTQ test - -delimiter ~~; -create procedure verify_vtq() -begin - set @i= 0; - select - @i:= @i + 1 as No, - trx_id > 0 as A, - begin_ts > '1-1-1 0:0:0' as B, - commit_ts > begin_ts as C, - concurr_trx is null as D - from information_schema.innodb_vtq - where trx_id > @start_trx_id; - select ifnull(max(trx_id), 0) - into @start_trx_id - from information_schema.innodb_vtq; -end~~ -delimiter ;~~ - -call verify_vtq; -drop procedure verify_vtq; - -CREATE TABLE t1 ( - id BIGINT PRIMARY KEY, - name VARCHAR(128) WITH SYSTEM VERSIONING, - salary BIGINT -); -INSERT INTO t1 VALUES (1, "Jeremy", 3000); - -CREATE TABLE t2 ( - id BIGINT PRIMARY KEY, - name VARCHAR(128) WITH SYSTEM VERSIONING, - salary BIGINT -); -INSERT INTO t2 VALUES (1, "Jeremy", 4000); - -SELECT sys_trx_start INTO @tmp1 FROM t1; -SELECT sys_trx_start INTO @tmp2 FROM t2; -UPDATE t1, t2 SET t1.name="Jerry", t2.name="Jerry" WHERE t1.id=t2.id AND t1.name="Jeremy"; -SELECT @tmp1 < sys_trx_start, name FROM t1; -SELECT @tmp2 < sys_trx_start, name FROM t2; - -SELECT sys_trx_start INTO @tmp1 FROM t1; -SELECT sys_trx_start INTO @tmp2 FROM t2; -UPDATE t1, t2 SET t1.salary=2500, t2.salary=2500 WHERE t1.id=t2.id AND t1.name="Jerry"; -SELECT @tmp1 = sys_trx_start, salary FROM t1; -SELECT @tmp2 = sys_trx_start, salary FROM t2; - -DROP TABLE t1; -DROP TABLE t2; diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test index 8f3055850b9..d216b003c78 100644 --- a/mysql-test/t/select.test +++ b/mysql-test/t/select.test @@ -4671,37 +4671,3 @@ select (SELECT name FROM t1 WHERE name='tom' AND pw=PASSWORD(@undefined)); drop table t1; --echo End of 10.0 tests - ---echo # ---echo # System Versioning Support ---echo # ---echo # -CREATE TABLE t1( x INT UNSIGNED, y INT UNSIGNED, Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START, Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END, PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end)) WITH SYSTEM VERSIONING; -INSERT INTO t1(x, y) VALUES - (0, 100), - (1, 101), - (2, 102), - (3, 103), - (4, 104), - (5, 105), - (6, 106), - (7, 107), - (8, 108), - (9, 109); -DELETE FROM t1 WHERE x = 3; -DELETE FROM t1 WHERE x > 7; ---real_sleep 1 -INSERT INTO t1(x, y) VALUES(3, 33); ---replace_column 1 Sys_start -SELECT @time := Sys_start FROM t1 WHERE x = 3 AND y = 33 FOR SYSTEM_TIME BETWEEN TIMESTAMP '0-0-0 0:0:0' AND TIMESTAMP '2038-01-19 04:14:07'; -SELECT x, y FROM t1; -SET @query=CONCAT('SELECT x, y FROM t1 FOR SYSTEM_TIME FROM TIMESTAMP \'0-0-0 0:0:0\' TO TIMESTAMP \'', @time, '\''); -PREPARE stmt_t1 FROM @query; -EXECUTE stmt_t1; -SET @query=CONCAT('SELECT x, y FROM t1 FOR SYSTEM_TIME BETWEEN TIMESTAMP \'0-0-0 0:0:0\' AND TIMESTAMP \'', @time, '\''); -PREPARE stmt_t1 FROM @query; -EXECUTE stmt_t1; -SET @time=NULL; -SET @query=NULL; -DEALLOCATE PREPARE stmt_t1; -DROP TABLE t1; diff --git a/mysql-test/t/update.opt b/mysql-test/t/update.opt deleted file mode 100644 index 32a25eea24f..00000000000 --- a/mysql-test/t/update.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-innodb-vtq diff --git a/mysql-test/t/update.test b/mysql-test/t/update.test index 41d59199e47..e5ef0b11127 100644 --- a/mysql-test/t/update.test +++ b/mysql-test/t/update.test @@ -654,93 +654,3 @@ show status like 'Handler_read%'; drop table t1, t2; --echo # End of MariaDB 10.0 tests - ---echo # ---echo # System Versioning Support ---echo # ---echo # - --- source include/have_innodb.inc -set @@session.time_zone='+00:00'; -select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq; - -delimiter ~~; -create procedure test_01( - sys_type varchar(255), - engine varchar(255), - fields varchar(255)) -begin - set @str= concat(' - create table t1( - x int unsigned, - y int unsigned, - sys_start ', sys_type, ' generated always as row start, - sys_end ', sys_type, ' generated always as row end, - period for system_time (sys_start, sys_end)) - with system versioning - engine ', engine); - prepare stmt from @str; execute stmt; drop prepare stmt; - insert into t1(x, y) values - (1, 1000), - (2, 2000), - (3, 3000), - (4, 4000), - (5, 5000), - (6, 6000), - (7, 7000), - (8, 8000), - (9, 9000); - select x, y from t1; - update t1 set y = y + 1 where x > 7; - select x, y from t1; - select x, y from t1 for system_time - between timestamp '0000-0-0 0:0:0' - and timestamp '2038-01-19 04:14:07'; - drop table t1; -end~~ -delimiter ;~~ - -call test_01('timestamp(6)', 'myisam', 'sys_end'); -call test_01('bigint unsigned', 'innodb', 'commit_ts(sys_end)'); -drop procedure test_01; - -# VTQ test - -delimiter ~~; -create procedure verify_vtq() -begin - set @i= 0; - select - @i:= @i + 1 as No, - trx_id > 0 as A, - begin_ts > '1-1-1 0:0:0' as B, - commit_ts > begin_ts as C, - concurr_trx is null as D - from information_schema.innodb_vtq - where trx_id > @start_trx_id; - select ifnull(max(trx_id), 0) - into @start_trx_id - from information_schema.innodb_vtq; -end~~ -delimiter ;~~ - -call verify_vtq; -drop procedure verify_vtq; - -CREATE TABLE t1 ( - id BIGINT PRIMARY KEY, - A INT, - B INT WITHOUT SYSTEM VERSIONING -) WITH SYSTEM VERSIONING; - -INSERT INTO t1 VALUES(1, 1, 1); - -SELECT sys_trx_start INTO @tmp1 FROM t1; -UPDATE t1 SET A=11, B=11 WHERE id=1; -SELECT @tmp1 < sys_trx_start, A, B FROM t1; - -SELECT sys_trx_start INTO @tmp1 FROM t1; -UPDATE t1 SET B=1 WHERE id=1; -SELECT @tmp1 = sys_trx_start, B FROM t1; - -DROP TABLE t1;