SQLite

View Ticket
Login
Ticket Hash: 767a8cbc6d20bd684d48dfd67469e3c55af0f825
Title: COLLATE NOCASE string comparison yields incorrect result
Status: Fixed Type: Code_Defect
Severity: Important Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2019-09-03 14:27:40
Version Found In: 3.29.0
User Comments:
mrigger added on 2019-09-03 08:25:35:

In the test case below, a row is unexpectedly not fetched:

CREATE TABLE t0(c0 COLLATE NOCASE, c1);
CREATE INDEX i0 ON t0(0) WHERE c0 >= c1;
REPLACE INTO t0 VALUES('a', 'B');
SELECT * FROM t0 WHERE t0.c1 <= t0.c0; -- unexpected: row is not fetched

The WHERE expression evaluates to TRUE:

SELECT t0.c1 <= t0.c0 FROM t0; -- TRUE