Tests: insert, update, delete for VTQ
This commit is contained in:
parent
3b64fed504
commit
23f4e40839
@ -611,3 +611,103 @@ XNo Sys_end < '2038-01-19 03:14:07'
|
|||||||
9 1
|
9 1
|
||||||
DROP VIEW vt1;
|
DROP VIEW vt1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
|
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 ENGINE InnoDB;
|
||||||
|
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);
|
||||||
|
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';
|
||||||
|
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
|
||||||
|
DELETE FROM t1 WHERE XNo = 0;
|
||||||
|
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';
|
||||||
|
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
|
||||||
|
DELETE FROM t1 WHERE XNo = 1;
|
||||||
|
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';
|
||||||
|
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
|
||||||
|
DELETE FROM t1 WHERE XNo > 5;
|
||||||
|
CREATE VIEW vt1 AS SELECT XNo FROM t1;
|
||||||
|
SELECT XNo FROM vt1;
|
||||||
|
XNo
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
DELETE FROM vt1 WHERE XNo = 3;
|
||||||
|
SELECT XNo FROM vt1;
|
||||||
|
XNo
|
||||||
|
2
|
||||||
|
4
|
||||||
|
5
|
||||||
|
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';
|
||||||
|
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
|
||||||
|
DROP VIEW vt1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
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;
|
||||||
|
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
|
||||||
|
@ -722,6 +722,7 @@ DROP TABLE t1;
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
SET @@session.time_zone='+00:00';
|
SET @@session.time_zone='+00:00';
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
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;
|
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(3, 4);
|
INSERT INTO t1(x, y) VALUES(3, 4);
|
||||||
INSERT INTO t1(x, y) VALUES(2, 3);
|
INSERT INTO t1(x, y) VALUES(2, 3);
|
||||||
@ -826,3 +827,38 @@ x y Sys_end
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP VIEW vt1_1;
|
DROP VIEW vt1_1;
|
||||||
DROP VIEW vt1_2;
|
DROP VIEW vt1_2;
|
||||||
|
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;
|
||||||
|
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
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
|
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;
|
||||||
|
CREATE TABLE t2(x INT UNSIGNED) ENGINE=InnoDB;
|
||||||
|
START TRANSACTION;
|
||||||
|
INSERT INTO t1(x) VALUES(1);
|
||||||
|
COMMIT;
|
||||||
|
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;
|
||||||
|
No A B C D
|
||||||
|
1 1 1 1 1
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
|
START TRANSACTION;
|
||||||
|
INSERT INTO t2(x) VALUES(1);
|
||||||
|
SAVEPOINT a;
|
||||||
|
INSERT INTO t1(x) VALUES(1);
|
||||||
|
ROLLBACK TO a;
|
||||||
|
COMMIT;
|
||||||
|
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;
|
||||||
|
No A B C D
|
||||||
|
DROP TABLE t1;
|
||||||
|
DROP TABLE t2;
|
||||||
|
@ -771,6 +771,7 @@ x y
|
|||||||
8 8000
|
8 8000
|
||||||
9 9000
|
9 9000
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
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;
|
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;
|
||||||
INSERT INTO t1(x, y) VALUES
|
INSERT INTO t1(x, y) VALUES
|
||||||
(1, 1000),
|
(1, 1000),
|
||||||
@ -819,3 +820,8 @@ x y
|
|||||||
8 8000
|
8 8000
|
||||||
9 9000
|
9 9000
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
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;
|
||||||
|
No A B C D
|
||||||
|
1 1 1 1 1
|
||||||
|
2 1 1 1 1
|
||||||
|
1
mysql-test/t/delete.opt
Normal file
1
mysql-test/t/delete.opt
Normal file
@ -0,0 +1 @@
|
|||||||
|
--loose-innodb-vtq
|
@ -626,3 +626,44 @@ SELECT XNo, Sys_end < '2038-01-19 03:14:07' FROM t1 FOR SYSTEM_TIME BETWEEN TIME
|
|||||||
|
|
||||||
DROP VIEW vt1;
|
DROP VIEW vt1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
|
|
||||||
|
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 ENGINE InnoDB;
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
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';
|
||||||
|
DELETE FROM t1 WHERE XNo = 0;
|
||||||
|
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';
|
||||||
|
DELETE FROM t1 WHERE XNo = 1;
|
||||||
|
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';
|
||||||
|
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;
|
||||||
|
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';
|
||||||
|
|
||||||
|
DROP VIEW vt1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
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;
|
||||||
|
1
mysql-test/t/insert.opt
Normal file
1
mysql-test/t/insert.opt
Normal file
@ -0,0 +1 @@
|
|||||||
|
--loose-innodb-vtq
|
@ -583,6 +583,7 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
SET @@session.time_zone='+00:00';
|
SET @@session.time_zone='+00:00';
|
||||||
|
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
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;
|
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(3, 4);
|
INSERT INTO t1(x, y) VALUES(3, 4);
|
||||||
INSERT INTO t1(x, y) VALUES(2, 3);
|
INSERT INTO t1(x, y) VALUES(2, 3);
|
||||||
@ -646,3 +647,25 @@ SELECT x, y, Sys_end FROM vt1_2;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP VIEW vt1_1;
|
DROP VIEW vt1_1;
|
||||||
DROP VIEW vt1_2;
|
DROP VIEW vt1_2;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
|
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;
|
||||||
|
CREATE TABLE t2(x INT UNSIGNED) ENGINE=InnoDB;
|
||||||
|
START TRANSACTION;
|
||||||
|
INSERT INTO t1(x) VALUES(1);
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
|
START TRANSACTION;
|
||||||
|
INSERT INTO t2(x) VALUES(1);
|
||||||
|
SAVEPOINT a;
|
||||||
|
INSERT INTO t1(x) VALUES(1);
|
||||||
|
ROLLBACK TO a;
|
||||||
|
COMMIT;
|
||||||
|
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;
|
||||||
|
DROP TABLE t1;
|
||||||
|
DROP TABLE t2;
|
||||||
|
1
mysql-test/t/update.opt
Normal file
1
mysql-test/t/update.opt
Normal file
@ -0,0 +1 @@
|
|||||||
|
--loose-innodb-vtq
|
@ -677,6 +677,9 @@ 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';
|
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;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
|
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
|
||||||
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;
|
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;
|
||||||
INSERT INTO t1(x, y) VALUES
|
INSERT INTO t1(x, y) VALUES
|
||||||
(1, 1000),
|
(1, 1000),
|
||||||
@ -693,3 +696,5 @@ UPDATE t1 SET y = y + 1 WHERE x > 7;
|
|||||||
SELECT x, y FROM t1;
|
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';
|
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;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user