Modify ↓
Opened 18 years ago
Closed 18 years ago
#2488 closed defect (fixed)
MySQL SQL error /trac/screenshots
| Reported by: | Owned by: | Radek Bartoň | |
|---|---|---|---|
| Priority: | normal | Component: | ScreenshotsPlugin |
| Severity: | normal | Keywords: | mysql |
| Cc: | Trac Release: | 0.10 |
Description
Not sure if the MySQL database is officially supported or not. The plugin seems to install correctly though. When I click on the "Screenshots" link (/trac/screenshots) in the header I get this error. All the components of the ScreenshotsPlugin are enabled.
Here's my configuration:
Python: 2.3.4 Trac: 0.10.4 TracTags: 0.6 Apache 2.0.52 + mod_wsgi-1.3 MySQL: 5.0.45 OS: Linux (CentOS) 2.6.9
Here's the error:
Python Traceback
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 406, in dispatch_request
dispatcher.dispatch(req)
File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 237, in dispatch
resp = chosen_handler.process_request(req)
File "/usr/lib/python2.3/site-packages/TracScreenshots-0.5-py2.3.egg/tracscreenshots/core.py", line 100, in process_request
template, data, content_type = self._do_actions(req, actions)
File "/usr/lib/python2.3/site-packages/TracScreenshots-0.5-py2.3.egg/tracscreenshots/core.py", line 397, in _do_actions
enabled_components, enabled_versions)
File "/usr/lib/python2.3/site-packages/TracScreenshots-0.5-py2.3.egg/tracscreenshots/api.py", line 86, in get_filtered_screenshots
cursor.execute(sql, versions + components)
File "/usr/lib/python2.3/site-packages/trac/db/util.py", line 51, in execute
return self.cursor.execute(sql)
File "/usr/lib/python2.3/site-packages/trac/db/util.py", line 51, in execute
return self.cursor.execute(sql)
File "/usr/lib/python2.3/site-packages/MySQLdb/cursors.py", line 163, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.3/site-packages/MySQLdb/connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') OR c.component IN ()' at line 1")
Attachments (0)
Note: See
TracTickets for help on using
tickets.



The problem was with empty IN() statement but according to MySQL manual there is no mention that IN() statement could not be empty. Try it with r3161, should be OK.