Details
Description
This script:
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci);
INSERT INTO t1 VALUES (' 1'),('`1');
SELECT * FROM t1 WHERE (a XOR '0');
returns one row:
+------+ | a | +------+ | 1 | +------+
Now if I make the WHERE condition even stricter:
SELECT * FROM t1 WHERE a=' 1' AND (a XOR '0');
it erroneously returns two rows:
+------+ | a | +------+ | 1 | | `1 | +------+
Gliffy Diagrams
Attachments
Issue Links
- blocks
-
MDEV-8728 Fix a number of problems in equal field and equal expression propagation
-
- Closed
-
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions