summaryrefslogtreecommitdiff
path: root/mysql-test/main/func_math.test
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2019-12-12 17:06:42 +0400
committerAlexander Barkov <bar@mariadb.com>2019-12-13 12:45:16 +0400
commitbbd2fa5c653bf0336f6ec0131ef41b8928c5ab86 (patch)
tree2e1a6b45dd83a1b39da50e7aa49b240f449f1ba9 /mysql-test/main/func_math.test
parentce41a9075ad63e5388045943b80f69b7af0048d2 (diff)
downloadmariadb-git-bbd2fa5c653bf0336f6ec0131ef41b8928c5ab86.tar.gz
MDEV-21278 Assertion `is_unsigned() == attr.unsigned_flag' or Assertion `field.is_sane()' failed
The type handler and unsigned_flag erroneously went out of sync in Item_func_minus::fix_length_and_dec.
Diffstat (limited to 'mysql-test/main/func_math.test')
-rw-r--r--mysql-test/main/func_math.test33
1 files changed, 33 insertions, 0 deletions
diff --git a/mysql-test/main/func_math.test b/mysql-test/main/func_math.test
index 5f333c06b78..ad2929888fc 100644
--- a/mysql-test/main/func_math.test
+++ b/mysql-test/main/func_math.test
@@ -1736,3 +1736,36 @@ DROP TABLE t1,t2;
--echo #
--echo # End of 10.4 tests
--echo #
+
+
+--echo #
+--echo # Start of 10.5 tests
+--echo #
+
+--echo #
+--echo # MDEV-21278 Assertion `is_unsigned() == attr.unsigned_flag' or Assertion `field.is_sane()' failed
+--echo #
+
+CREATE TABLE t1 (a TIMESTAMP);
+INSERT INTO t1 VALUES (NULL),(NULL);
+SET SESSION SQL_MODE= 'NO_UNSIGNED_SUBTRACTION';
+--replace_column 1 xxx
+SELECT DISTINCT UUID_SHORT() - a FROM t1;
+CREATE TABLE t2 AS SELECT DISTINCT UUID_SHORT() - a FROM t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t2, t1;
+SET sql_mode=DEFAULT;
+
+CREATE TABLE t1 (a TIMESTAMP);
+INSERT INTO t1 VALUES (NULL),(NULL);
+SET SESSION SQL_MODE= 'NO_UNSIGNED_SUBTRACTION';
+--replace_column 1 xxx
+SELECT UUID_SHORT() - a FROM t1;
+CREATE TABLE t2 AS SELECT UUID_SHORT() - a FROM t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t2, t1;
+
+
+--echo #
+--echo # End of 10.5 tests
+--echo #