| Bug #83006 | Incorrect processing of WHERE condition with ELT | ||
|---|---|---|---|
| Submitted: | 15 Sep 2016 7:51 | Modified: | 15 Sep 2016 8:36 |
| Reporter: | Grigory Rubtsov | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: Optimizer | Severity: | S2 (Serious) |
| Version: | 5.6.24 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[15 Sep 2016 8:36]
MySQL Verification Team
Hello Grigory, Thank you for the report and test case. Observed this with 5.5.52, 5.6.33 and 5.7.15 builds. Thanks, Umesh

Description: Some queries with JOIN and ELT string function in WHERE part return incorrect result. How to repeat: CREATE TABLE t1 (id INT); CREATE TABLE t2 (id INT); INSERT INTO t1 VALUES (1); INSERT INTO t2 VALUES (2); SELECT t1.id,t2.id FROM t1 LEFT JOIN t2 USING(id) WHERE ELT(1, t1.id, t2.id) = 1\G Empty set (0.00 sec) This result is incorrect. If one removes reference to t2.id in ELT the query shows correct result: SELECT t1.id,t2.id FROM t1 LEFT JOIN t2 USING(id) WHERE ELT(1, t1.id, NULL) = 1\G *************************** 1. row *************************** id: 1 id: NULL 1 row in set (0.00 sec)