Actions
Defect #5288
closedsql error for null root_ids in app/controllers/timelog_controller.rb
Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Time tracking
Target version:
-
Start date:
2010-04-10
Due date:
% Done:
0%
Estimated time:
Resolution:
Invalid
Affected version:
Description
I just upgraded to redmine trunk r3630 from r3200. When I tried to view the time_entries on an issue I got an SQL error in timelog_controller.
database version - mysql 5.1
Ruby version - ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux]
Rails version - rails-2.3.5
Redmine version - r3630
Processing TimelogController#details (for 118.93.234.188 at 2010-04-10 19:47:23) [GET] Parameters: {"project_id"=>"bgz", "action"=>"details", "issue_id"=>"11023", "controller"=>"timelog"} ActiveRecord::StatementInvalid (Mysql::Error: 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 'AND issues.lft >= 9 AND issues.rgt <= 14) AND (spent_on BETWEEN '2006-01-31' AND' at line 1: SELECT count(DISTINCT `time_entries`.id) AS count_all FROM `time_entries` LEFT OUTER JOIN `projects` ON `projects`.id = `time_entries`.project_id LEFT OUTER JOIN `issues` ON `issues`.id = `time_entries`.issue_id WHERE (1=1 AND (issues.root_id = AND issues.lft >= 9 AND issues.rgt <= 14) AND (spent_on BETWEEN '2006-01-31' AND '2010-05-30')) AND (projects.status=1 AND projects.id IN (SELECT em.project_id FROM enabled_modules em WHERE em.name='time_tracking')) ): app/controllers/timelog_controller.rb:179:in `details' app/controllers/timelog_controller.rb:176:in `details' app/models/time_entry.rb:81:in `visible_by' app/models/time_entry.rb:80:in `visible_by' app/controllers/timelog_controller.rb:175:in `details' passenger (2.2.4) lib/phusion_passenger/rack/request_handler.rb:91:in `process_request' passenger (2.2.4) lib/phusion_passenger/abstract_request_handler.rb:206:in `main_loop' passenger (2.2.4) lib/phusion_passenger/railz/application_spawner.rb:376:in `start_request_handler' passenger (2.2.4) lib/phusion_passenger/railz/application_spawner.rb:334:in `handle_spawn_application' passenger (2.2.4) lib/phusion_passenger/utils.rb:182:in `safe_fork' passenger (2.2.4) lib/phusion_passenger/railz/application_spawner.rb:332:in `handle_spawn_application' passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:351:in `__send__' passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:351:in `main_loop' passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:195:in `start_synchronously' passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:162:in `start' passenger (2.2.4) lib/phusion_passenger/railz/application_spawner.rb:213:in `start' passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:261:in `spawn_rails_application' passenger (2.2.4) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add' passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application' passenger (2.2.4) lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize' passenger (2.2.4) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:254:in `spawn_rails_application' passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:153:in `spawn_application' passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:286:in `handle_spawn_application' passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:351:in `__send__' passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:351:in `main_loop' passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:195:in `start_synchronously' Rendering /mnt/redminevol/redmine_upgraded10Apr10/public/500.html (500 Internal Server Error)
The root_id is NULL so it is causing the sql error. After I updated the issue I could view the time_entries. Most likely because update_nested_set_attributes had been called on it and the root_id was set to the issue_id.
This is only an issue for checking time on tickets that haven't been updated since our redmine upgrade.
Actions