summaryrefslogtreecommitdiff
path: root/mysql-test/main
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2018-12-26 12:10:50 +0400
committerAlexander Barkov <bar@mariadb.com>2018-12-26 12:10:50 +0400
commitd89d12e3b723ba7a5113b3cdffd1d4a48127ff0a (patch)
tree307f208284919808f4d2784b8d41d7b7beee2024 /mysql-test/main
parent812bb1303c4a012edb8de9f6ad4c1d97d29533f6 (diff)
downloadmariadb-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.result18
-rw-r--r--mysql-test/main/func_hybrid_type.test16
-rw-r--r--mysql-test/main/func_math.result33
-rw-r--r--mysql-test/main/func_math.test25
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 #