Modify ↓
Opened 11 years ago
Closed 11 years ago
#11204 closed defect (worksforme)
SQL error on custom query: column reference "id" is ambiguous
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | query system | Version: | |
Severity: | normal | Keywords: | |
Cc: | ebouaziz@… | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
Trac version 1.1.2dev, Python 2.7.3, PostgreSQL 9.1, psycopg2 2.4.5
In the View tickets
tab, run a custom query with a custom field in the filters, then in the resulting table, click on a row name on top of the row to order the results.
I get this error:
ProgrammingError: column reference "id" is ambiguous LINE 7: ...'reopened') AND (COALESCE(c."soc",'')='xyz')) OR id in (692... ^
In the logs, I get:
2013-06-12 19:29:16,924 Trac[main] ERROR: Internal Server Error:. Traceback (most recent call last): File "/local/engine/trac/trac/web/main.py", line 498, in _dispatch_request dispatcher.dispatch(req) File "/local/engine/trac/trac/web/main.py", line 214, in dispatch resp = chosen_handler.process_request(req) File "/local/engine/trac/trac/ticket/query.py", line 963, in process_request return self.display_html(req, query) File "/local/engine/trac/trac/ticket/query.py", line 1069, in display_html tickets = query.execute(req, cached_ids=orig_list) File "/local/engine/trac/trac/ticket/query.py", line 303, in execute self.num_items = self._count(sql, args) File "/local/engine/trac/trac/ticket/query.py", line 284, in _count % sql, args)[0][0] File "/local/engine/trac/trac/db/api.py", line 122, in execute return db.execute(query, params) File "/local/engine/trac/trac/db/util.py", line 121, in execute cursor.execute(query, params) File "/local/engine/trac/trac/db/util.py", line 65, in execute return self.cursor.execute(sql_escape_percent(sql), args) ProgrammingError: column reference "id" is ambiguous LINE 7: ...'reopened') AND (COALESCE(c."soc",'')='xyz')) OR id in (692... ^ ProgrammingError: column reference "id" is ambiguous
The IterableCursor
object is not instanciated with a logger, so I did a ugly hack and got the offending request and args:
SELECT COUNT(*) FROM (SELECT t.id AS id,t.summary AS summary,t.status AS status,t.type AS type,t.priority AS priority,t.milestone AS milestone,t.component AS component,t.time AS time,t.changetime AS changetime,priority.value AS priority_ FROM ticket AS t LEFT JOIN (SELECT id, (SELECT c.value FROM ticket_custom c WHERE c.ticket=t.id AND c.name='soc') AS "soc" FROM ticket t) AS c ON (c.id=t.id) LEFT OUTER JOIN enum AS priority ON (priority.type='priority' AND priority.name=priority) WHERE (COALESCE(t.status,'') IN (%s,%s,%s) AND (COALESCE(c."soc",'')=%s)) OR id in (7013,6876,7029,3021,6875,7065,7824,6759,3326,4772) ORDER BY COALESCE(t.component,'')='' DESC,t.component DESC,t.id) AS x [u'assigned', u'new', u'reopened', u'xyz']
I don't know enough SQL to understand what is wrong here.
Attachments (0)
Change History (2)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Please update to latest trunk.
Note:
See TracTickets
for help on using tickets.
It seems to be the same as comment:ticket:11140:4. The issue has been fixed in [11787].