#15914: F-expressions used with iexact lookup produces invalid SQL
-------------------------------------+-------------------------------------
Reporter: lrekucki | Owner: nobody
Type: Bug | Status: new
Milestone: | Component: Database
Version: 1.2 | layer (models, ORM)
Keywords: | Severity: Normal
Has patch: 0 | Triage Stage:
Needs tests: 0 | Unreviewed
Easy pickings: 0 | Needs documentation: 0
| Patch needs improvement: 0
-------------------------------------+-------------------------------------
Example queries generated from
{{{Employee.objects.filter(firstname__iexact=F('lastname'))}}}:
{{{#!sql
-- 1. PostgreSQL
SELECT "expressions_employee"."id", "expressions_employee"."firstname",
"expressions_employee"."lastname"
FROM "expressions_employee" WHERE
UPPER("expressions_employee"."firstname"::text) = UPPER()
"expressions_employee"."lastname"
-- DatabaseError: syntax error at or near ""expressions_employee""
-- LINE 1: ...xpressions_employee"."firstname"::text) = UPPER()
"expressio...
-- 2. SQLite
SELECT "expressions_employee"."id", "expressions_employee"."firstname",
"expressions_employee"."lastname"
FROM "expressions_employee" WHERE "expressions_employee"."firstname" LIKE
ESCAPE '\' "expressions_employee"."lastname"
-- DatabaseError: near "ESCAPE": syntax error
}}}
I found the error on Django 1.2. Reproduced on trunk (see attachment)
--
Ticket URL: <http://code.djangoproject.com/ticket/15914>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.