Description:
From my understanding, the first query below should return 1 row, but it is actually return empty.
mysql> SELECT ALL t0.c0 FROM t0 WHERE (( EXISTS (SELECT 1 WHERE FALSE)) IS NULL) >= (JSON_OBJECT(0.0428808631309785, t0.c0));
Empty set (0.00 sec)
mysql> SELECT ALL SUM(((( EXISTS (SELECT 1 WHERE FALSE)) IS NULL) >= (JSON_OBJECT(0.0428808631309785, t0.c0))) IS TRUE) FROM t0;
+-------------------------------------------------------------------------------------------------------+
| SUM(((( EXISTS (SELECT 1 WHERE FALSE)) IS NULL) >= (JSON_OBJECT(0.0428808631309785, t0.c0))) IS TRUE) |
+-------------------------------------------------------------------------------------------------------+
| 1 |
+-------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
How to repeat:
DROP TABLE IF EXISTS t0;
CREATE TABLE t0(c0 FLOAT UNIQUE KEY) ;
REPLACE INTO t0(c0) VALUES(0.473626691975659);
SELECT ALL t0.c0 FROM t0 WHERE (( EXISTS (SELECT 1 WHERE FALSE)) IS NULL) >= (JSON_OBJECT(0.0428808631309785, t0.c0));
SELECT ALL SUM(((( EXISTS (SELECT 1 WHERE FALSE)) IS NULL) >= (JSON_OBJECT(0.0428808631309785, t0.c0))) IS TRUE) FROM t0;