Skip to content

Commit 23f4e40

Browse files
committed
Tests: insert, update, delete for VTQ
1 parent 3b64fed commit 23f4e40

File tree

9 files changed

+214
-0
lines changed

9 files changed

+214
-0
lines changed

mysql-test/r/delete.result

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,3 +611,103 @@ XNo Sys_end < '2038-01-19 03:14:07'
611611
9 1
612612
DROP VIEW vt1;
613613
DROP TABLE t1;
614+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
615+
create table t1 (
616+
XNo INT UNSIGNED,
617+
Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START,
618+
Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END,
619+
PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end)
620+
) WITH SYSTEM VERSIONING ENGINE InnoDB;
621+
INSERT INTO t1(XNo) VALUES(0);
622+
INSERT INTO t1(XNo) VALUES(1);
623+
INSERT INTO t1(XNo) VALUES(2);
624+
INSERT INTO t1(XNo) VALUES(3);
625+
INSERT INTO t1(XNo) VALUES(4);
626+
INSERT INTO t1(XNo) VALUES(5);
627+
INSERT INTO t1(XNo) VALUES(6);
628+
INSERT INTO t1(XNo) VALUES(7);
629+
INSERT INTO t1(XNo) VALUES(8);
630+
INSERT INTO t1(XNo) VALUES(9);
631+
SELECT XNo, Sys_end < '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';
632+
XNo Sys_end < '2038-01-19 03:14:07'
633+
0 0
634+
1 0
635+
2 0
636+
3 0
637+
4 0
638+
5 0
639+
6 0
640+
7 0
641+
8 0
642+
9 0
643+
DELETE FROM t1 WHERE XNo = 0;
644+
SELECT XNo, Sys_end < '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';
645+
XNo Sys_end < '2038-01-19 03:14:07'
646+
0 1
647+
1 0
648+
2 0
649+
3 0
650+
4 0
651+
5 0
652+
6 0
653+
7 0
654+
8 0
655+
9 0
656+
DELETE FROM t1 WHERE XNo = 1;
657+
SELECT XNo, Sys_end < '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';
658+
XNo Sys_end < '2038-01-19 03:14:07'
659+
0 1
660+
1 1
661+
2 0
662+
3 0
663+
4 0
664+
5 0
665+
6 0
666+
7 0
667+
8 0
668+
9 0
669+
DELETE FROM t1 WHERE XNo > 5;
670+
CREATE VIEW vt1 AS SELECT XNo FROM t1;
671+
SELECT XNo FROM vt1;
672+
XNo
673+
2
674+
3
675+
4
676+
5
677+
DELETE FROM vt1 WHERE XNo = 3;
678+
SELECT XNo FROM vt1;
679+
XNo
680+
2
681+
4
682+
5
683+
SELECT XNo, Sys_end < '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';
684+
XNo Sys_end < '2038-01-19 03:14:07'
685+
0 1
686+
1 1
687+
2 0
688+
3 1
689+
4 0
690+
5 0
691+
6 1
692+
7 1
693+
8 1
694+
9 1
695+
DROP VIEW vt1;
696+
DROP TABLE t1;
697+
SET @i = 0;
698+
SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;
699+
No A B C D
700+
1 1 1 1 1
701+
2 1 1 1 1
702+
3 1 1 1 1
703+
4 1 1 1 1
704+
5 1 1 1 1
705+
6 1 1 1 1
706+
7 1 1 1 1
707+
8 1 1 1 1
708+
9 1 1 1 1
709+
10 1 1 1 1
710+
11 1 1 1 1
711+
12 1 1 1 1
712+
13 1 1 1 1
713+
14 1 1 1 1

mysql-test/r/insert.result

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,7 @@ DROP TABLE t1;
722722
#
723723
#
724724
SET @@session.time_zone='+00:00';
725+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
725726
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;
726727
INSERT INTO t1(x, y) VALUES(3, 4);
727728
INSERT INTO t1(x, y) VALUES(2, 3);
@@ -826,3 +827,38 @@ x y Sys_end
826827
DROP TABLE t1;
827828
DROP VIEW vt1_1;
828829
DROP VIEW vt1_2;
830+
SET @i = 0;
831+
SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;
832+
No A B C D
833+
1 1 1 1 1
834+
2 1 1 1 1
835+
3 1 1 1 1
836+
4 1 1 1 1
837+
5 1 1 1 1
838+
6 1 1 1 1
839+
7 1 1 1 1
840+
8 1 1 1 1
841+
9 1 1 1 1
842+
10 1 1 1 1
843+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
844+
CREATE TABLE t1(x 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 ENGINE=InnoDB;
845+
CREATE TABLE t2(x INT UNSIGNED) ENGINE=InnoDB;
846+
START TRANSACTION;
847+
INSERT INTO t1(x) VALUES(1);
848+
COMMIT;
849+
SET @i = 0;
850+
SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;
851+
No A B C D
852+
1 1 1 1 1
853+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
854+
START TRANSACTION;
855+
INSERT INTO t2(x) VALUES(1);
856+
SAVEPOINT a;
857+
INSERT INTO t1(x) VALUES(1);
858+
ROLLBACK TO a;
859+
COMMIT;
860+
SET @i = 0;
861+
SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;
862+
No A B C D
863+
DROP TABLE t1;
864+
DROP TABLE t2;

mysql-test/r/update.result

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -771,6 +771,7 @@ x y
771771
8 8000
772772
9 9000
773773
DROP TABLE t1;
774+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
774775
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 ENGINE=InnoDB;
775776
INSERT INTO t1(x, y) VALUES
776777
(1, 1000),
@@ -819,3 +820,8 @@ x y
819820
8 8000
820821
9 9000
821822
DROP TABLE t1;
823+
SET @i = 0;
824+
SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;
825+
No A B C D
826+
1 1 1 1 1
827+
2 1 1 1 1

mysql-test/t/delete.opt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--loose-innodb-vtq

mysql-test/t/delete.test

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,3 +626,44 @@ SELECT XNo, Sys_end < '2038-01-19 03:14:07' FROM t1 FOR SYSTEM_TIME BETWEEN TIME
626626

627627
DROP VIEW vt1;
628628
DROP TABLE t1;
629+
630+
-- source include/have_innodb.inc
631+
632+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
633+
634+
create table t1 (
635+
XNo INT UNSIGNED,
636+
Sys_start TIMESTAMP(6) GENERATED ALWAYS AS ROW START,
637+
Sys_end TIMESTAMP(6) GENERATED ALWAYS AS ROW END,
638+
PERIOD FOR SYSTEM_TIME (Sys_start, Sys_end)
639+
) WITH SYSTEM VERSIONING ENGINE InnoDB;
640+
641+
INSERT INTO t1(XNo) VALUES(0);
642+
INSERT INTO t1(XNo) VALUES(1);
643+
INSERT INTO t1(XNo) VALUES(2);
644+
INSERT INTO t1(XNo) VALUES(3);
645+
INSERT INTO t1(XNo) VALUES(4);
646+
INSERT INTO t1(XNo) VALUES(5);
647+
INSERT INTO t1(XNo) VALUES(6);
648+
INSERT INTO t1(XNo) VALUES(7);
649+
INSERT INTO t1(XNo) VALUES(8);
650+
INSERT INTO t1(XNo) VALUES(9);
651+
652+
SELECT XNo, Sys_end < '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';
653+
DELETE FROM t1 WHERE XNo = 0;
654+
SELECT XNo, Sys_end < '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';
655+
DELETE FROM t1 WHERE XNo = 1;
656+
SELECT XNo, Sys_end < '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';
657+
DELETE FROM t1 WHERE XNo > 5;
658+
659+
CREATE VIEW vt1 AS SELECT XNo FROM t1;
660+
661+
SELECT XNo FROM vt1;
662+
DELETE FROM vt1 WHERE XNo = 3;
663+
SELECT XNo FROM vt1;
664+
SELECT XNo, Sys_end < '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';
665+
666+
DROP VIEW vt1;
667+
DROP TABLE t1;
668+
669+
SET @i = 0; SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;

mysql-test/t/insert.opt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--loose-innodb-vtq

mysql-test/t/insert.test

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,7 @@ DROP TABLE t1;
583583

584584
SET @@session.time_zone='+00:00';
585585

586+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
586587
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;
587588
INSERT INTO t1(x, y) VALUES(3, 4);
588589
INSERT INTO t1(x, y) VALUES(2, 3);
@@ -646,3 +647,25 @@ SELECT x, y, Sys_end FROM vt1_2;
646647
DROP TABLE t1;
647648
DROP VIEW vt1_1;
648649
DROP VIEW vt1_2;
650+
651+
SET @i = 0; SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;
652+
653+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
654+
CREATE TABLE t1(x 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 ENGINE=InnoDB;
655+
CREATE TABLE t2(x INT UNSIGNED) ENGINE=InnoDB;
656+
START TRANSACTION;
657+
INSERT INTO t1(x) VALUES(1);
658+
COMMIT;
659+
660+
SET @i = 0; SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;
661+
662+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
663+
START TRANSACTION;
664+
INSERT INTO t2(x) VALUES(1);
665+
SAVEPOINT a;
666+
INSERT INTO t1(x) VALUES(1);
667+
ROLLBACK TO a;
668+
COMMIT;
669+
SET @i = 0; SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;
670+
DROP TABLE t1;
671+
DROP TABLE t2;

mysql-test/t/update.opt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--loose-innodb-vtq

mysql-test/t/update.test

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -677,6 +677,9 @@ SELECT x, y FROM t1;
677677
SELECT x, y FROM t1 FOR SYSTEM_TIME BETWEEN TIMESTAMP '0000-0-0 0:0:0' AND TIMESTAMP '2038-01-19 04:14:07';
678678
DROP TABLE t1;
679679

680+
-- source include/have_innodb.inc
681+
682+
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
680683
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 ENGINE=InnoDB;
681684
INSERT INTO t1(x, y) VALUES
682685
(1, 1000),
@@ -693,3 +696,5 @@ UPDATE t1 SET y = y + 1 WHERE x > 7;
693696
SELECT x, y FROM t1;
694697
SELECT x, y FROM t1 FOR SYSTEM_TIME BETWEEN TIMESTAMP '0000-0-0 0:0:0' AND TIMESTAMP '2038-01-19 04:14:07';
695698
DROP TABLE t1;
699+
700+
SET @i = 0; SELECT @i:=@i+1 AS No, trx_id > 0 AS A, begin_ts > '2015-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;

0 commit comments

Comments
 (0)