Actions
Defect #6413
closedError in SQL
Status:
Closed
Priority:
Normal
Assignee:
Category:
Code cleanup/refactoring
Target version:
Start date:
2010-09-16
Due date:
% Done:
100%
Estimated time:
Resolution:
Fixed
Affected version:
Description
Hi all!
I am using redmine and having an SQL error when trying to get the issues resume inside a project.
Environment:
Ruby 1.8.7 pathlevel 249) Rails 2.3.5 Oracle (yes, I know it's not supported but the solution below seems so easy and won't cause regression I think)
The error is in the SQL executed in the file app/models/issue.rb, line 828:
Where now is
def self.count_and_group_by(options) project = options.delete(:project) select_field = options.delete(:field) joins = options.delete(:joins) where = "i.#{select_field}=j.id" ActiveRecord::Base.connection.select_all("select s.id as status_id, s.is_closed as closed, j.id as #{select_field}, count(i.id) as total from #{Issue.table_name} i, #{IssueStatus.table_name} s, #{joins} as j where i.status_id=s.id and #{where} and i.project_id=#{project.id} group by s.id, s.is_closed, j.id") end
it should be
def self.count_and_group_by(options) project = options.delete(:project) select_field = options.delete(:field) joins = options.delete(:joins) where = "i.#{select_field}=j.id" ActiveRecord::Base.connection.select_all("select s.id as status_id, s.is_closed as closed, j.id as #{select_field}, count(i.id) as total from #{Issue.table_name} i, #{IssueStatus.table_name} s, #{joins} j where i.status_id=s.id and #{where} and i.project_id=#{project.id} group by s.id, s.is_closed, j.id") end
The "as j" in the SQL query is wrong and causes SQL error. Deleting "as" makes it working ok.
Actions