Modify ↓
#11028 closed defect (invalid)
OperationalError: ambiguous column name: id
| Reported by: | Ryan J Ollos | Owned by: | Chris Nelson |
|---|---|---|---|
| Priority: | normal | Component: | TracJsGanttPlugin |
| Severity: | normal | Keywords: | |
| Cc: | mlm@… | Trac Release: | 1.0 |
Description
How to Reproduce
While doing a POST operation on /newticket, Trac issued an internal error.
(please provide additional details here)
Request parameters:
{'__FORM_TOKEN': u'5e5bc52cee75efac19dd14a7',
'field_blockedby': u'',
'field_blocking': u'',
'field_cc': u'',
'field_component': u'component1',
'field_description': u'',
'field_due_assign': u'',
'field_due_close': u'',
'field_estimatedhours': u'',
'field_keywords': u'',
'field_milestone': u'',
'field_owner': u'user1',
'field_parents': u'',
'field_priority': u'major',
'field_reporter': u'user1',
'field_summary': u'fsadfdasfsad',
'field_totalhours': u'',
'field_type': u'defect',
'field_version': u'',
'submit': u'Create ticket'}
User agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.68 Safari/537.17
System Information
Trac | 1.0.2dev
|
Genshi | 0.6 (without speedups)
|
pysqlite | 2.6.0
|
Python | 2.7.3 (default, Jan 2 2013, 13:56:14) [GCC 4.7.2]
|
pytz | 2012c
|
setuptools | 0.6
|
SQLite | 3.7.13
|
jQuery | 1.7.2
|
Enabled Plugins
Trac-jsGantt | 0.10
|
Python Traceback
Traceback (most recent call last):
File "/home/user/Workspace/th10966/trac.git/trac/web/main.py", line 497, in _dispatch_request
dispatcher.dispatch(req)
File "/home/user/Workspace/th10966/trac.git/trac/web/main.py", line 214, in dispatch
resp = chosen_handler.process_request(req)
File "/home/user/Workspace/th10966/trac.git/trac/ticket/web_ui.py", line 180, in process_request
return self._process_newticket_request(req)
File "/home/user/Workspace/th10966/trac.git/trac/ticket/web_ui.py", line 465, in _process_newticket_request
self._do_create(req, ticket) # (redirected if successful)
File "/home/user/Workspace/th10966/trac.git/trac/ticket/web_ui.py", line 1289, in _do_create
ticket.insert()
File "/home/user/Workspace/th10966/trac.git/trac/ticket/model.py", line 256, in insert
listener.ticket_created(self)
File "/home/user/Workspace/trac-hacks.git/tracjsganttplugin/0.11/tracjsgantt/tracpm.py", line 2943, in ticket_created
self.rescheduleTickets(ticket, {})
File "/home/user/Workspace/trac-hacks.git/tracjsganttplugin/0.11/tracjsgantt/tracpm.py", line 2753, in rescheduleTickets
tickets = self.queryTickets(ids)
File "/home/user/Workspace/trac-hacks.git/tracjsganttplugin/0.11/tracjsgantt/tracpm.py", line 2549, in queryTickets
return self.pm.query(options, set())
File "/home/user/Workspace/trac-hacks.git/tracjsganttplugin/0.11/tracjsgantt/tracpm.py", line 1193, in query
tickets = query.execute(req)
File "/home/user/Workspace/th10966/trac.git/trac/ticket/query.py", line 302, in execute
self.num_items = self._count(sql, args)
File "/home/user/Workspace/th10966/trac.git/trac/ticket/query.py", line 283, in _count
% sql, args)[0][0]
File "/home/user/Workspace/th10966/trac.git/trac/db/api.py", line 122, in execute
return db.execute(query, params)
File "/home/user/Workspace/th10966/trac.git/trac/db/util.py", line 121, in execute
cursor.execute(query, params)
File "/home/user/Workspace/th10966/trac.git/trac/db/util.py", line 65, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/home/user/Workspace/th10966/trac.git/trac/db/sqlite_backend.py", line 78, in execute
result = PyFormatCursor.execute(self, *args)
File "/home/user/Workspace/th10966/trac.git/trac/db/sqlite_backend.py", line 56, in execute
args or [])
File "/home/user/Workspace/th10966/trac.git/trac/db/sqlite_backend.py", line 48, in _rollback_on_error
return function(self, *args, **kwargs)
OperationalError: ambiguous column name: id
Attachments (0)
Change History (4)
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
Oh... The changes, trac:r11753 and trac:r11754, may break the compatibilities in Query module.
Ryan, could you please apply the following patch and retry?
-
trac/ticket/query.py
diff --git a/trac/ticket/query.py b/trac/ticket/query.py index 4d20da3..fc306bc 100644
a b class Query(object): 461 461 462 462 # Join with ticket_custom table as necessary 463 463 if any(k in custom_fields for k in cols): 464 sql.append("\n LEFT JOIN (SELECT id ")464 sql.append("\n LEFT JOIN (SELECT id AS ticket") 465 465 sql.extend(",\n (SELECT c.value FROM ticket_custom c " 466 466 "WHERE c.ticket=t.id AND c.name='%s') AS %s" 467 467 % (k, db.quote(k)) 468 468 for k in cols if k in custom_fields) 469 sql.append("\n FROM ticket t) AS c ON (c. id=t.id)")469 sql.append("\n FROM ticket t) AS c ON (c.ticket=t.id)") 470 470 471 471 # Join with the enum table for proper sorting 472 472 for col in [c for c in enum_columns
comment:3 Changed 13 years ago by
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
Reproduced without this plugin. The issue is a Trac issue. See trac:ticket:11140#comment:4.
Note: See
TracTickets for help on using
tickets.



It looks like, at least in Trac 1.0.2dev,
idshould be replaced withticketid.