| Bug #114751 | Incorrect query result | ||
|---|---|---|---|
| Submitted: | 24 Apr 2024 2:53 | Modified: | 24 Apr 2024 7:24 |
| Reporter: | John Jove | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: Optimizer | Severity: | S1 (Critical) |
| Version: | 8.0.36 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[24 Apr 2024 7:24]
MySQL Verification Team
Hello John, Thank you for the report and test case. Verified as described. regards, Umesh

Description: Run the following statements, in which the query returns an incorrect query result, since the WHERE condition is expected to be false. How to repeat: CREATE TABLE t1 (c1 int PRIMARY KEY); CREATE TABLE t2 (c1 decimal UNIQUE); CREATE TABLE t3 (c1 decimal PRIMARY KEY); INSERT INTO t1 VALUES (1); INSERT INTO t2 VALUES (NULL); INSERT INTO t2 VALUES (NULL); INSERT INTO t2 VALUES (NULL); INSERT INTO t2 VALUES (NULL); INSERT INTO t2 VALUES (NULL); INSERT INTO t2 VALUES (NULL); INSERT INTO t3 VALUES (2); SELECT /*+ SET_VAR(optimizer_switch='materialization=off') */ ca8 FROM (SELECT c1 AS ca8 FROM t2) AS ta1 WHERE ((NULL + ca8) != ANY (SELECT c1 FROM t3)) IN (SELECT c1 FROM t1) IS NOT UNKNOWN; -- {NULL, NULL, NULL, NULL, NULL, NULL}