Bug #3615
Updated by Daniel D over 8 years ago
Steps to reproduce: * use sqlite database * add over 1000 repos * open /_admin/journal OperationalError: (OperationalError) too many SQL variables u'SELECT count(*) AS count_1 \nFROM (SELECT user_logs.user_log_id AS user_logs_user_log_id, user_logs.user_id AS user_logs_user_id, user_logs.username AS user_logs_username, user_logs.repository_id AS user_logs_repository_id, user_logs.repository_name AS user_logs_repository_name, user_logs.user_ip AS user_logs_user_ip, user_logs.action AS user_logs_action, user_logs.action_date AS user_logs_action_date \nFROM user_logs \nWHERE user_logs.repository_id IN (?, ?, ?, ?, ?, ?, ?......) ORDER BY user_logs.action_date DESC) AS anon_1' (1,2,....1001 ids) ~~~ File "/Users/dan/Projects/rc/rhodecode-enterprise-ce-dan/rhodecode/controllers/journal.py", line 262, in public_journal c.journal_pager = Page(journal, page=p, items_per_page=20) File "/nix/store/08jg8cv3mdsjdqa367b9gmilcmif46s3-python2.7-WebHelpers-1.3/lib/python2.7/site-packages/webhelpers/paginate.py", line 413, in __init__ self.item_count = len(self.collection) ~~~ The problem is in `rhodecode.controllers.journal.JournalController:_get_journal_data()` ~~~rhodecode.controllers.journal.JournalController:_get_journal_data()~~~ The query it generates has an IN which can fill up to the max limit for sqlite Possible solutions: * use a for loop * rewrite query to use joins instead Current workarounds: * use mysql/postgresql