diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-05-22 08:42:31 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-05-22 08:42:31 +0300 |
commit | cf77951fb6717f5eb87a2b4baad12a33cd155f27 (patch) | |
tree | 487ef13a47e10adb759fe789b21f7900ad9f3bd8 /mysql-test/suite | |
parent | 1921df669712135b2b6f78c96c2aa6ae9a7399f2 (diff) | |
parent | 592dc59d7a5f9bd80bffdd9d0f003243ff639767 (diff) | |
download | mariadb-git-cf77951fb6717f5eb87a2b4baad12a33cd155f27.tar.gz |
Merge 10.3 into 10.4
Diffstat (limited to 'mysql-test/suite')
-rw-r--r-- | mysql-test/suite/versioning/r/create.result | 7 | ||||
-rw-r--r-- | mysql-test/suite/versioning/r/partition.result | 19 | ||||
-rw-r--r-- | mysql-test/suite/versioning/r/replace.result | 14 | ||||
-rw-r--r-- | mysql-test/suite/versioning/t/create.test | 9 | ||||
-rw-r--r-- | mysql-test/suite/versioning/t/partition.test | 14 | ||||
-rw-r--r-- | mysql-test/suite/versioning/t/replace.test | 17 |
6 files changed, 80 insertions, 0 deletions
diff --git a/mysql-test/suite/versioning/r/create.result b/mysql-test/suite/versioning/r/create.result index 895b2c3b66a..ce19d83fcda 100644 --- a/mysql-test/suite/versioning/r/create.result +++ b/mysql-test/suite/versioning/r/create.result @@ -520,5 +520,12 @@ row_end bigint as row end, period for system_time (row_start, row_end) ) engine=myisam with system versioning; ERROR HY000: `row_start` must be of type TIMESTAMP(6) for system-versioned table `t1` +create table t ( +a int, +row_start datetime(6) generated always as row start, +row_end datetime(6) generated always as row end, +period for system_time(row_start, row_end) +) with system versioning; +ERROR HY000: `row_start` must be of type TIMESTAMP(6) for system-versioned table `t` drop database test; create database test; diff --git a/mysql-test/suite/versioning/r/partition.result b/mysql-test/suite/versioning/r/partition.result index cf6f188372c..4413202ebcc 100644 --- a/mysql-test/suite/versioning/r/partition.result +++ b/mysql-test/suite/versioning/r/partition.result @@ -530,6 +530,25 @@ set timestamp=1523466002.799571; insert into t1 values (11),(12); set timestamp=1523466004.169435; delete from t1 where pk in (11, 12); +# +# MDEV-18136 Server crashes in Item_func_dyncol_create::prepare_arguments +# +create or replace table t1 (pk int) with system versioning +partition by system_time interval 7 second ( +partition ver_p1 history, +partition ver_pn current); +alter table t1 +partition by system_time interval column_get(column_create(7,7), 7 as int) second ( +partition ver_p1 history, +partition ver_pn current); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `pk` int(11) DEFAULT NULL +) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING + PARTITION BY SYSTEM_TIME INTERVAL 7 SECOND +(PARTITION `ver_p1` HISTORY ENGINE = DEFAULT_ENGINE, + PARTITION `ver_pn` CURRENT ENGINE = DEFAULT_ENGINE) # Test cleanup drop database test; create database test; diff --git a/mysql-test/suite/versioning/r/replace.result b/mysql-test/suite/versioning/r/replace.result index 1711be5212e..4173432ff45 100644 --- a/mysql-test/suite/versioning/r/replace.result +++ b/mysql-test/suite/versioning/r/replace.result @@ -32,5 +32,19 @@ insert into t1 values (1,1); create or replace table t2 (c int); create or replace view v as select t1.* from t1 join t2; replace into v (a, b) select a, b from t1; +drop table t1; +CREATE TABLE t1 ( +pk INT AUTO_INCREMENT, +f INT, +row_start SYS_DATATYPE AS ROW START INVISIBLE, +row_end SYS_DATATYPE AS ROW END INVISIBLE, +PRIMARY KEY(pk), +UNIQUE(f), +PERIOD FOR SYSTEM_TIME(row_start, row_end) +) WITH SYSTEM VERSIONING; +INSERT INTO t1 () VALUES (),(),(),(),(),(); +UPDATE IGNORE t1 SET f = 1; +REPLACE t1 SELECT * FROM t1; +DROP TABLE t1; drop database test; create database test; diff --git a/mysql-test/suite/versioning/t/create.test b/mysql-test/suite/versioning/t/create.test index 733b5057c20..21548c557c7 100644 --- a/mysql-test/suite/versioning/t/create.test +++ b/mysql-test/suite/versioning/t/create.test @@ -387,5 +387,14 @@ create or replace table t1 ( period for system_time (row_start, row_end) ) engine=myisam with system versioning; +--error ER_VERS_FIELD_WRONG_TYPE +create table t ( + a int, + row_start datetime(6) generated always as row start, + row_end datetime(6) generated always as row end, + period for system_time(row_start, row_end) +) with system versioning; + + drop database test; create database test; diff --git a/mysql-test/suite/versioning/t/partition.test b/mysql-test/suite/versioning/t/partition.test index a9e2429b7c4..0faf32c887a 100644 --- a/mysql-test/suite/versioning/t/partition.test +++ b/mysql-test/suite/versioning/t/partition.test @@ -466,6 +466,20 @@ insert into t1 values (11),(12); set timestamp=1523466004.169435; delete from t1 where pk in (11, 12); +--echo # +--echo # MDEV-18136 Server crashes in Item_func_dyncol_create::prepare_arguments +--echo # +create or replace table t1 (pk int) with system versioning +partition by system_time interval 7 second ( + partition ver_p1 history, + partition ver_pn current); +alter table t1 +partition by system_time interval column_get(column_create(7,7), 7 as int) second ( + partition ver_p1 history, + partition ver_pn current); +--replace_result $default_engine DEFAULT_ENGINE +show create table t1; + --echo # Test cleanup drop database test; create database test; diff --git a/mysql-test/suite/versioning/t/replace.test b/mysql-test/suite/versioning/t/replace.test index bc7e084758d..391cd2a12fc 100644 --- a/mysql-test/suite/versioning/t/replace.test +++ b/mysql-test/suite/versioning/t/replace.test @@ -35,6 +35,23 @@ insert into t1 values (1,1); create or replace table t2 (c int); create or replace view v as select t1.* from t1 join t2; replace into v (a, b) select a, b from t1; +drop table t1; + +--replace_result $sys_datatype_expl SYS_DATATYPE +eval CREATE TABLE t1 ( + pk INT AUTO_INCREMENT, + f INT, + row_start $sys_datatype_expl AS ROW START INVISIBLE, + row_end $sys_datatype_expl AS ROW END INVISIBLE, + PRIMARY KEY(pk), + UNIQUE(f), + PERIOD FOR SYSTEM_TIME(row_start, row_end) +) WITH SYSTEM VERSIONING; +INSERT INTO t1 () VALUES (),(),(),(),(),(); +UPDATE IGNORE t1 SET f = 1; +REPLACE t1 SELECT * FROM t1; +DROP TABLE t1; + drop database test; create database test; |