1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-8755 Equal field propagation is not performed any longer for the IN list when multiple comparison types

This commit is contained in:
Alexander Barkov
2015-09-11 11:35:15 +04:00
parent 0302efca7f
commit 6f302d9f6c
3 changed files with 45 additions and 8 deletions

View File

@ -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;