SQLite

View Ticket
Login
Ticket Hash: 0c4df46116e90f927a54103c4ed82a825a18763f
Title: Incorrect result with ORDER BY DESC and LIMIT
Status: Fixed Type: Code_Defect
Severity: Severe Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2016-09-07 01:56:06
Version Found In: 3.14.1
User Comments:
drh added on 2016-09-07 00:42:45: (text/x-fossil-wiki)
In the following SQL, the first query gives the correct 3 lines of result
in the correct order.  But the second query returns the second line of result,
not the first line as it should:

<blockquote><pre>
CREATE TABLE t1(a,b,c);
CREATE INDEX t1x ON t1(a,b,c);
INSERT INTO t1 VALUES(0,1,99),(0,1,0),(0,0,0);
SELECT * FROM t1 WHERE a=0 AND (c=0 OR c=99) ORDER BY c DESC;
SELECT * FROM t1 WHERE a=0 AND (c=0 OR c=99) ORDER BY c DESC LIMIT 1;
</pre></blockquote>

This problem seems to have been introduced by check-in [559733b09e96]
on 2016-05-20 and was released with version 3.14.0.