Bug #119721 Inconsistant result while executing functionally equivalent queries
Submitted: 19 Jan 17:51
Reporter: Jiyuan Li Email Updates:
Status: Open Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version: 9.3.0-cluster OS:Any
Assigned to: CPU Architecture:Any

[19 Jan 17:51] Jiyuan Li
Description:
Functionally equivalent queries return different results.

How to repeat:
CREATE TABLE IF NOT EXISTS t0(c0 INT ZEROFILL ) ;
UPDATE t0 SET c0=DEFAULT;
REPLACE LOW_PRIORITY INTO t0(c0) VALUES(NULL);
DELETE LOW_PRIORITY QUICK FROM t0 WHERE CAST(-4.68119E8 AS SIGNED);
ALTER TABLE t0 STATS_PERSISTENT DEFAULT, DELAY_KEY_WRITE 0;

REPLACE DELAYED INTO t0(c0) VALUES("-710314001");
INSERT IGNORE INTO t0(c0) VALUES(NULL);
CREATE INDEX i24 ON t0(c0) ALGORITHM= DEFAULT;
DELETE LOW_PRIORITY QUICK FROM t0 WHERE t0.c0;
DELETE QUICK FROM t0;
REPLACE INTO t0(c0) VALUES(NULL);
select TABLE_NAME, ENGINE from information_schema.TABLES where table_schema = 'database11171';
DELETE LOW_PRIORITY QUICK FROM t0 WHERE (+ (t0.c0));
REPLACE INTO t0(c0) VALUES(0.616997547404859), (0.9132433226283724), ('');
REPLACE DELAYED INTO t0(c0) VALUES("");
REPLACE INTO t0(c0) VALUES('');
INSERT HIGH_PRIORITY IGNORE INTO t0(c0) VALUES("9Q(◡");
ALTER TABLE t0 PACK_KEYS DEFAULT, STATS_AUTO_RECALC 1, ALGORITHM COPY, ROW_FORMAT REDUNDANT, INSERT_METHOD LAST, FORCE, DELAY_KEY_WRITE 1, STATS_PERSISTENT 1, COMPRESSION 'LZ4';

DELETE LOW_PRIORITY IGNORE FROM t0 WHERE (NULL) XOR (CAST(CAST(t0.c0 AS SIGNED) AS SIGNED));
REPLACE INTO t0(c0) VALUES("믨O+");
INSERT IGNORE INTO t0(c0) VALUES("0.12664076063738638");
SELECT ALL t0.c0 AS ref0 FROM t0;
+------------+
| ref0       |
+------------+
|       NULL |
| 0000000000 |
| 0000000009 |
+------------+
3 rows in set (0.00 sec)

SELECT ALL t0.c0 AS ref0 FROM t0 WHERE (t0.c0) = (IF(0.6416620353032721, 0.34279583699853045, 0.9381597600556737)) UNION ALL SELECT t0.c0 AS ref0 FROM t0 WHERE (NOT ((t0.c0) = (IF(0.6416620353032721, 0.34279583699853045, 0.9381597600556737)))) UNION ALL SELECT ALL t0.c0 AS ref0 FROM t0 WHERE ((t0.c0) = (IF(0.6416620353032721, 0.34279583699853045, 0.9381597600556737))) IS UNKNOWN;
+------+
| ref0 |
+------+
|    0 |
|    0 |
|    9 |
| NULL |
+------+
4 rows in set (0.00 sec)