diff options
author | Alexander Barkov <bar@mariadb.com> | 2018-12-26 12:10:50 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2018-12-26 12:10:50 +0400 |
commit | d89d12e3b723ba7a5113b3cdffd1d4a48127ff0a (patch) | |
tree | 307f208284919808f4d2784b8d41d7b7beee2024 /mysql-test/main | |
parent | 812bb1303c4a012edb8de9f6ad4c1d97d29533f6 (diff) | |
download | mariadb-git-d89d12e3b723ba7a5113b3cdffd1d4a48127ff0a.tar.gz |
MDEV-17759 Assertion `precision > 0' failed in decimal_bin_size upon CREATE TABLE .. SELECT
Diffstat (limited to 'mysql-test/main')
-rw-r--r-- | mysql-test/main/func_hybrid_type.result | 18 | ||||
-rw-r--r-- | mysql-test/main/func_hybrid_type.test | 16 | ||||
-rw-r--r-- | mysql-test/main/func_math.result | 33 | ||||
-rw-r--r-- | mysql-test/main/func_math.test | 25 |
4 files changed, 92 insertions, 0 deletions
diff --git a/mysql-test/main/func_hybrid_type.result b/mysql-test/main/func_hybrid_type.result index ebf7191a3f7..04c428e745d 100644 --- a/mysql-test/main/func_hybrid_type.result +++ b/mysql-test/main/func_hybrid_type.result @@ -3753,5 +3753,23 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; # +# MDEV-17759 Assertion `precision > 0' failed in decimal_bin_size upon CREATE TABLE .. SELECT +# +SET sql_mode=''; +CREATE TABLE t1 (d DECIMAL(43,0) UNSIGNED); +INSERT INTO t1 VALUES (1); +CREATE TABLE t2 AS SELECT +IFNULL(SLEEP(0.01), NULL DIV d) AS f0, +IFNULL(SLEEP(0.01), '' DIV d) AS f1 +FROM t1; +SHOW CREATE TABLE t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `f0` decimal(1,0) DEFAULT NULL, + `f1` decimal(1,0) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +DROP TABLE t1, t2; +SET sql_mode=DEFAULT; +# # End of 10.3 tests # diff --git a/mysql-test/main/func_hybrid_type.test b/mysql-test/main/func_hybrid_type.test index 954c7de53fa..f754d660140 100644 --- a/mysql-test/main/func_hybrid_type.test +++ b/mysql-test/main/func_hybrid_type.test @@ -612,6 +612,22 @@ SHOW CREATE TABLE t1; DROP TABLE t1; --echo # +--echo # MDEV-17759 Assertion `precision > 0' failed in decimal_bin_size upon CREATE TABLE .. SELECT +--echo # + +SET sql_mode=''; +CREATE TABLE t1 (d DECIMAL(43,0) UNSIGNED); +INSERT INTO t1 VALUES (1); +CREATE TABLE t2 AS SELECT + IFNULL(SLEEP(0.01), NULL DIV d) AS f0, + IFNULL(SLEEP(0.01), '' DIV d) AS f1 +FROM t1; +SHOW CREATE TABLE t2; +DROP TABLE t1, t2; +SET sql_mode=DEFAULT; + + +--echo # --echo # End of 10.3 tests --echo # diff --git a/mysql-test/main/func_math.result b/mysql-test/main/func_math.result index 832ca69d3ea..eafee43e2a2 100644 --- a/mysql-test/main/func_math.result +++ b/mysql-test/main/func_math.result @@ -1285,3 +1285,36 @@ E59B9BE4BA94E585AD 2914501801 E4B883E585ABE4B99D 2374586519 DROP TABLE t1; SET NAMES default; +# +# MDEV-17759 Assertion `precision > 0' failed in decimal_bin_size upon CREATE TABLE .. SELECT +# +SET sql_mode=''; +CREATE TABLE t1 (d DECIMAL(43,0) UNSIGNED); +INSERT INTO t1 VALUES (1); +CREATE TABLE t2 AS SELECT +NULL DIV d AS d_null, +'' DIV d AS d_empty_string, +X'32' DIV d AS d_hex_string2, +X'3232' DIV d AS d_hex_string4, +TIME(0) DIV d AS d_time, +CURRENT_DATE DIV d AS d_date, +CURRENT_TIMESTAMP DIV d AS d_datetime +FROM t1; +Warnings: +Warning 1292 Truncated incorrect DECIMAL value: '' +SHOW CREATE TABLE t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `d_null` int(1) unsigned DEFAULT NULL, + `d_empty_string` int(1) unsigned DEFAULT NULL, + `d_hex_string2` int(1) unsigned DEFAULT NULL, + `d_hex_string4` int(2) unsigned DEFAULT NULL, + `d_time` int(7) unsigned DEFAULT NULL, + `d_date` int(8) unsigned DEFAULT NULL, + `d_datetime` bigint(14) unsigned DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +DROP TABLE t1, t2; +SET sql_mode=DEFAULT; +# +# End of 10.3 tests +# diff --git a/mysql-test/main/func_math.test b/mysql-test/main/func_math.test index a2c54b58a67..bf95cfd7868 100644 --- a/mysql-test/main/func_math.test +++ b/mysql-test/main/func_math.test @@ -897,3 +897,28 @@ LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t1 CHARACTER SET SELECT HEX(a), CRC32(a) from t1; DROP TABLE t1; SET NAMES default; + +--echo # +--echo # MDEV-17759 Assertion `precision > 0' failed in decimal_bin_size upon CREATE TABLE .. SELECT +--echo # + +SET sql_mode=''; +CREATE TABLE t1 (d DECIMAL(43,0) UNSIGNED); +INSERT INTO t1 VALUES (1); +CREATE TABLE t2 AS SELECT + NULL DIV d AS d_null, + '' DIV d AS d_empty_string, + X'32' DIV d AS d_hex_string2, + X'3232' DIV d AS d_hex_string4, + TIME(0) DIV d AS d_time, + CURRENT_DATE DIV d AS d_date, + CURRENT_TIMESTAMP DIV d AS d_datetime +FROM t1; +SHOW CREATE TABLE t2; +DROP TABLE t1, t2; +SET sql_mode=DEFAULT; + + +--echo # +--echo # End of 10.3 tests +--echo # |