SQLite

View Ticket
Login
2013-05-16
01:02
Treat identifiers in the HAVING clause the same as in the WHERE clause. Only consider AS names from the result set to match if there are no other matches. Continuation of the fix for [2500cdb9be05]. This check-in fixes a bug found by SqlLogicTest during release testing for version 3.7.17. (check-in: 9ffff3d0 user: drh tags: trunk)
2013-04-14
23:51 Fixed ticket [2500cdb9]: COLLATE in ORDER BY clause breaks name resolution plus 4 other changes (artifact: 14e81f52 user: drh)
23:51
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Fix for ticket [2500cdb9be]. (check-in: d0d5af79 user: drh tags: trunk)
2013-04-13
19:59
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Candidate fix for ticket [2500cdb9be]. (Closed-Leaf check-in: ad53924d user: drh tags: tkt-2500cdb9be)
2013-04-12
16:44 New ticket [2500cdb9] COLLATE in ORDER BY clause breaks name resolution. (artifact: 616b041c user: drh)

Ticket Hash: 2500cdb9be05bca950d64428ad14dba971736e9f
Title: COLLATE in ORDER BY clause breaks name resolution
Status: Fixed Type: Code_Defect
Severity: Important Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2013-04-14 23:51:40
Version Found In: 3.7.16.2
User Comments:
drh added on 2013-04-12 16:44:22:

In the following SQL, the first query works but the second query (the one with the COLLATE clause) gives a parsing error:

CREATE TABLE t1(x, y); INSERT INTO t1 VALUES(11,22);
CREATE TABLE t2(y, z); INSERT INTO t2 VALUES(33,44);
SELECT 1 AS y FROM t1, t2 ORDER BY y;
SELECT 2 AS y FROM t1, t2 ORDER BY y COLLATE nocase;

This problem appears to have been introduced in version 3.7.15 by check-in [8542e6180d4321d45] which was a fix for another problem described by ticket [71e333e7d2e642af].