Commit 23f4e408 authored by Aleksey Midenkov's avatar Aleksey Midenkov

Tests: insert, update, delete for VTQ

parent 3b64fed5
......@@ -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
--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;
--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;
--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;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment