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
|
||||
DROP VIEW vt1;
|
||||
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';
|
||||
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;
|
||||
INSERT INTO t1(x, y) VALUES(3, 4);
|
||||
INSERT INTO t1(x, y) VALUES(2, 3);
|
||||
@ -826,3 +827,38 @@ x y Sys_end
|
||||
DROP TABLE t1;
|
||||
DROP VIEW vt1_1;
|
||||
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
|
||||
9 9000
|
||||
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;
|
||||
INSERT INTO t1(x, y) VALUES
|
||||
(1, 1000),
|
||||
@ -819,3 +820,8 @@ x y
|
||||
8 8000
|
||||
9 9000
|
||||
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 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';
|
||||
|
||||
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;
|
||||
INSERT INTO t1(x, y) VALUES(3, 4);
|
||||
INSERT INTO t1(x, y) VALUES(2, 3);
|
||||
@ -646,3 +647,25 @@ SELECT x, y, Sys_end FROM vt1_2;
|
||||
DROP TABLE t1;
|
||||
DROP VIEW vt1_1;
|
||||
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';
|
||||
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;
|
||||
INSERT INTO t1(x, y) VALUES
|
||||
(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 FOR SYSTEM_TIME BETWEEN TIMESTAMP '0000-0-0 0:0:0' AND TIMESTAMP '2038-01-19 04:14:07';
|
||||
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