summaryrefslogtreecommitdiff
path: root/mysql-test/r/func_in.result
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2015-09-11 11:35:15 +0400
committerAlexander Barkov <bar@mariadb.org>2015-09-11 11:35:15 +0400
commit6f302d9f6cb1eafc018d9ca010dc40f15cb19390 (patch)
tree120fcb04d2c79f8c0bca6f9e1d6df5e56b95fc3a /mysql-test/r/func_in.result
parent0302efca7f522038f86a1b1dea3b7b1dd3759f86 (diff)
downloadmariadb-git-6f302d9f6cb1eafc018d9ca010dc40f15cb19390.tar.gz
MDEV-8755 Equal field propagation is not performed any longer for the IN list when multiple comparison types
Diffstat (limited to 'mysql-test/r/func_in.result')
-rw-r--r--mysql-test/r/func_in.result24
1 files changed, 24 insertions, 0 deletions
diff --git a/mysql-test/r/func_in.result b/mysql-test/r/func_in.result
index 51817c24932..33a997c8004 100644
--- a/mysql-test/r/func_in.result
+++ b/mysql-test/r/func_in.result
@@ -812,3 +812,27 @@ EXECUTE s;
1
DROP TABLE t1;
# End of 5.3 tests
+#
+# MDEV-8755 Equal field propagation is not performed any longer for the IN list when multiple comparison types
+#
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2);
+# Ok to propagate equalities into the left IN argument in case of a single comparison type
+EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=1 AND a IN (1,2,3);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` = 1)
+# Ok to propagate equalities into IN () list, even if multiple comparison types
+EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=1 AND 1 IN (1,a,'3');
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` = 1)
+# Not Ok to propagate equalities into the left IN argument in case of multiple comparison types
+EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=1 AND a IN (1,2,'3');
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where ((`test`.`t1`.`a` = 1) and (`test`.`t1`.`a` in (1,2,'3')))
+DROP TABLE t1;