1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

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.
This commit is contained in:
Eugene Kosov
2019-05-10 16:21:22 +03:00
committed by Sergei Golubchik
parent 3d56adbfac
commit 3d649c6e37
4 changed files with 108 additions and 71 deletions

View File

@@ -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;