Ticket #7056 (closed defect: fixed)
Large ticket numbers can trigger overflow error rather than "Ticket does not exist" on sqlite
| Reported by: | thatch | Owned by: | thatch |
|---|---|---|---|
| Priority: | normal | Milestone: | 0.11 |
| Component: | ticket system | Version: | 0.11b2 |
| Severity: | normal | Keywords: | |
| Cc: |
Description
Similar to #4794, viewing /ticket/99999999999999999999999999999999999999999999 would result in an OverflowError? in sqlite. Attaching a draft patch in a sec.
Python Traceback
Traceback (most recent call last):
File "/home/tim/code/trac/trac-trunk/trac/web/main.py", line 417, in _dispatch_request
dispatcher.dispatch(req)
File "/home/tim/code/trac/trac-trunk/trac/web/main.py", line 197, in dispatch
resp = chosen_handler.process_request(req)
File "/home/tim/code/trac/trac-trunk/trac/ticket/web_ui.py", line 158, in process_request
return self._process_ticket_request(req)
File "/home/tim/code/trac/trac-trunk/trac/ticket/web_ui.py", line 413, in _process_ticket_request
ticket = Ticket(self.env, id, version=version)
File "/home/tim/code/trac/trac-trunk/trac/ticket/model.py", line 45, in __init__
self._fetch_ticket(tkt_id, db)
File "/home/tim/code/trac/trac-trunk/trac/ticket/model.py", line 91, in _fetch_ticket
% ','.join(std_fields), (tkt_id,))
File "/home/tim/code/trac/trac-trunk/trac/db/util.py", line 50, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/home/tim/code/trac/trac-trunk/trac/db/sqlite_backend.py", line 58, in execute
args or [])
File "/home/tim/code/trac/trac-trunk/trac/db/sqlite_backend.py", line 50, in _rollback_on_error
return function(self, *args, **kwargs)
OverflowError: long too big to convert
Attachments
Change History
Note: See
TracTickets for help on using
tickets.


