diff options
author | Eugene Kosov <claprix@yandex.ru> | 2019-05-10 16:21:22 +0300 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2019-05-17 13:53:22 +0200 |
commit | 3d649c6e37de47336860bee6d23804d62a0746cb (patch) | |
tree | ab4eafed33f5f88832bd4f9b72e5baba5989b756 /mysql-test/suite/versioning | |
parent | 3d56adbfac394b2b3ffd22a89fe7c2978ed9a505 (diff) | |
download | mariadb-git-3d649c6e37de47336860bee6d23804d62a0746cb.tar.gz |
MDEV-15408 Confusing error message upon ER_VERS_FIELD_WRONG_TYPE while omitting UNSIGNED in BIGINT
Improve diagnostics. Try to guess what type user tried to type.
Diffstat (limited to 'mysql-test/suite/versioning')
-rw-r--r-- | mysql-test/suite/versioning/r/create.result | 16 | ||||
-rw-r--r-- | mysql-test/suite/versioning/t/create.test | 16 |
2 files changed, 31 insertions, 1 deletions
diff --git a/mysql-test/suite/versioning/r/create.result b/mysql-test/suite/versioning/r/create.result index 231aae66482..9c77859ffce 100644 --- a/mysql-test/suite/versioning/r/create.result +++ b/mysql-test/suite/versioning/r/create.result @@ -157,7 +157,7 @@ Sys_start bigint as row start invisible, Sys_end bigint unsigned as row end invisible, period for system_time (Sys_start, Sys_end) ) with system versioning engine innodb; -ERROR HY000: `Sys_start` must be of type TIMESTAMP(6) for system-versioned table `t1` +ERROR HY000: `Sys_start` must be of type BIGINT(20) UNSIGNED for system-versioned table `t1` create or replace table t1 ( x14 int unsigned, Sys_start bigint unsigned as row start invisible, @@ -495,5 +495,19 @@ Table Create Table t1 CREATE TABLE `t1` ( `i` int(11) DEFAULT NULL ) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING +create or replace table t1 ( +a int, +row_start bigint as row start, +row_end bigint as row end, +period for system_time (row_start, row_end) +) engine=innodb with system versioning; +ERROR HY000: `row_start` must be of type BIGINT(20) UNSIGNED for system-versioned table `t1` +create or replace table t1 ( +a int, +row_start bigint as row start, +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` 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 7a7eb556c67..81dd3cdb2c2 100644 --- a/mysql-test/suite/versioning/t/create.test +++ b/mysql-test/suite/versioning/t/create.test @@ -371,5 +371,21 @@ create or replace table t1 (i int) with system versioning as select 1 as i; --replace_result $default_engine DEFAULT_ENGINE show create table t1; +--error ER_VERS_FIELD_WRONG_TYPE +create or replace table t1 ( + a int, + row_start bigint as row start, + row_end bigint as row end, + period for system_time (row_start, row_end) +) engine=innodb with system versioning; + +--error ER_VERS_FIELD_WRONG_TYPE +create or replace table t1 ( + a int, + row_start bigint as row start, + row_end bigint as row end, + period for system_time (row_start, row_end) +) engine=myisam with system versioning; + drop database test; create database test; |