#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.

Reply via email to