diff options
author | Alexander Barkov <bar@mariadb.org> | 2015-09-11 11:35:15 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2015-09-11 11:35:15 +0400 |
commit | 6f302d9f6cb1eafc018d9ca010dc40f15cb19390 (patch) | |
tree | 120fcb04d2c79f8c0bca6f9e1d6df5e56b95fc3a /mysql-test/r/func_in.result | |
parent | 0302efca7f522038f86a1b1dea3b7b1dd3759f86 (diff) | |
download | mariadb-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.result | 24 |
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; |