summaryrefslogtreecommitdiff
path: root/mysql-test/t
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2019-03-16 15:08:17 -0700
committerIgor Babaev <igor@askmonty.org>2019-03-16 15:08:17 -0700
commit5e044f78c0a9a8cd40dedff0e4bc857c0bd76b95 (patch)
treec2dac6313da1f5ae82ff2b812cc87b59bea786f4 /mysql-test/t
parent1f020299f816263e347c852eb2a494b5ef1cbf0d (diff)
downloadmariadb-git-5e044f78c0a9a8cd40dedff0e4bc857c0bd76b95.tar.gz
MDEV-18945 Assertion `fixed == 1' failed in Item_cond_and::val_int
In the function make_cond_for_table_from_pred a call of ix_fields() missed checking of the return code. As a result an extracted constant condition could be not well formed and this caused an assertion failure.
Diffstat (limited to 'mysql-test/t')
-rw-r--r--mysql-test/t/update.test19
1 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/t/update.test b/mysql-test/t/update.test
index e5ef0b11127..84709102f96 100644
--- a/mysql-test/t/update.test
+++ b/mysql-test/t/update.test
@@ -654,3 +654,22 @@ show status like 'Handler_read%';
drop table t1, t2;
--echo # End of MariaDB 10.0 tests
+
+--echo #
+--echo # MDEV-18945: multi-table update with constant table and
+--echo # comparison of date field with integer field
+--echo #
+
+CREATE TABLE t1 (i1 int, d1 date , i2 int , d2 date) engine=myisam;
+INSERT INTO t1 VALUES (19,'0000-00-00',73,'2008-05-21');
+
+CREATE TABLE t2 (d1 date , i1 int, i2 int , d2 date) engine=myisam;
+INSERT INTO t2 VALUES
+ ('2006-01-12',-102,45,'2023-11-25'),('2034-12-19',-102,45,'2001-11-20');
+
+--error ER_TRUNCATED_WRONG_VALUE
+UPDATE t1,t2 SET t1.i1 = -39 WHERE t2.d1 <> t1.i1 AND t2.d1 = t1.d2;
+
+DROP TABLE t1,t2;
+
+--echo # End of MariaDB 10.2 tests