diff options
author | Jan Lindström <jan.lindstrom@mariadb.com> | 2017-05-02 13:00:15 +0300 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2017-05-09 19:44:10 +0200 |
commit | 96987cb4e95c83557284466a8041a48b585fe9a3 (patch) | |
tree | 2d22c59e3d2b780ac9a9bfa7ea67f1f6281a305b | |
parent | ccca4f43c92916c347210a7f9a8126f2aa3f6c31 (diff) | |
download | mariadb-git-96987cb4e95c83557284466a8041a48b585fe9a3.tar.gz |
Added tests for MDEV-11724, MDEV-11725, MDEV-11726.
-rw-r--r-- | mysql-test/suite/innodb/r/innodb-virtual-columns2.result | 64 | ||||
-rw-r--r-- | mysql-test/suite/innodb/t/innodb-virtual-columns2.test | 54 |
2 files changed, 118 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/innodb-virtual-columns2.result b/mysql-test/suite/innodb/r/innodb-virtual-columns2.result new file mode 100644 index 00000000000..3574ba72849 --- /dev/null +++ b/mysql-test/suite/innodb/r/innodb-virtual-columns2.result @@ -0,0 +1,64 @@ +CREATE TABLE t1 ( +y YEAR NULL, +i SMALLINT NULL, +c VARCHAR(8) NOT NULL DEFAULT '', +vi SMALLINT AS (i) VIRTUAL, +INDEX(y) +) ENGINE=InnoDB; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `y` year(4) DEFAULT NULL, + `i` smallint(6) DEFAULT NULL, + `c` varchar(8) NOT NULL DEFAULT '', + `vi` smallint(6) GENERATED ALWAYS AS (`i`) VIRTUAL, + KEY `y` (`y`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +y i c vi +INSERT INTO t1 (i) VALUES (1),(2); +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +y i c vi +DROP TABLE t1; +CREATE TABLE t1 ( +y YEAR NULL, +i SMALLINT NULL, +vi SMALLINT AS (i) VIRTUAL, +INDEX(y) +) ENGINE=InnoDB; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `y` year(4) DEFAULT NULL, + `i` smallint(6) DEFAULT NULL, + `vi` smallint(6) GENERATED ALWAYS AS (`i`) VIRTUAL, + KEY `y` (`y`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +y i vi +INSERT INTO t1 (i) VALUES (1),(2); +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +y i vi +DROP TABLE t1; +CREATE TABLE t1 ( +y YEAR NULL, +i SMALLINT NULL, +b BLOB NULL, +vi SMALLINT AS (i) VIRTUAL, +INDEX(y) +) ENGINE=InnoDB; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `y` year(4) DEFAULT NULL, + `i` smallint(6) DEFAULT NULL, + `b` blob DEFAULT NULL, + `vi` smallint(6) GENERATED ALWAYS AS (`i`) VIRTUAL, + KEY `y` (`y`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +y i b vi +INSERT INTO t1 (i) VALUES (1),(2); +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +y i b vi +DROP TABLE t1; diff --git a/mysql-test/suite/innodb/t/innodb-virtual-columns2.test b/mysql-test/suite/innodb/t/innodb-virtual-columns2.test new file mode 100644 index 00000000000..474a6354576 --- /dev/null +++ b/mysql-test/suite/innodb/t/innodb-virtual-columns2.test @@ -0,0 +1,54 @@ +--source include/have_innodb.inc + +# +# MDEV-11724: InnoDB: Failing assertion: len <= col->len || ((col->mtype) == 5 || (col->mtype) == 16 || (col->mtype) == 14) || (((col->mtype) == 15 || (col->mtype) == 16) && len == 2 * 2 * sizeof(double)) || (col->len == 0 && col->mtype == 1) +# + +CREATE TABLE t1 ( + y YEAR NULL, + i SMALLINT NULL, + c VARCHAR(8) NOT NULL DEFAULT '', + vi SMALLINT AS (i) VIRTUAL, + INDEX(y) +) ENGINE=InnoDB; + +SHOW CREATE TABLE t1; +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +INSERT INTO t1 (i) VALUES (1),(2); +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +DROP TABLE t1; + +# +# MDEV-11725: InnoDB: Failing assertion: !rec || !cmp_dtuple_rec(tuple, rec, *offsets) +# + +CREATE TABLE t1 ( + y YEAR NULL, + i SMALLINT NULL, + vi SMALLINT AS (i) VIRTUAL, + INDEX(y) +) ENGINE=InnoDB; + +SHOW CREATE TABLE t1; +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +INSERT INTO t1 (i) VALUES (1),(2); +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +DROP TABLE t1; + +# +# MDEV-11726: Server crashes in mach_read_from_n_little_endian +# + +CREATE TABLE t1 ( + y YEAR NULL, + i SMALLINT NULL, + b BLOB NULL, + vi SMALLINT AS (i) VIRTUAL, + INDEX(y) +) ENGINE=InnoDB; + +SHOW CREATE TABLE t1; +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +INSERT INTO t1 (i) VALUES (1),(2); +SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE; +DROP TABLE t1; |