summaryrefslogtreecommitdiffstats
path: root/test/unit/query_test.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2013-01-03 12:28:50 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2013-01-03 12:28:50 +0000
commitd82159bcf544bb66e301599ae0cada1ce73f2335 (patch)
treec15e3ebbcdd217b94ec4f668e69ceb041990154e /test/unit/query_test.rb
parent049eaeb776b51710a1a2efe061a0850626445938 (diff)
downloadredmine-d82159bcf544bb66e301599ae0cada1ce73f2335.tar.gz
redmine-d82159bcf544bb66e301599ae0cada1ce73f2335.zip
Use joins instead of sub-queries in group by/sort by when using custom fields (#12713).
Sub-queries in group by are not supported by SQLServer. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11102 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/query_test.rb')
-rw-r--r--test/unit/query_test.rb12
1 files changed, 3 insertions, 9 deletions
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb
index 3b92ea4dd..693399362 100644
--- a/test/unit/query_test.rb
+++ b/test/unit/query_test.rb
@@ -877,9 +877,7 @@ class QueryTest < ActiveSupport::TestCase
c = q.available_columns.find {|col| col.is_a?(QueryCustomFieldColumn) && col.custom_field.field_format == 'string' }
assert c
assert c.sortable
- issues = Issue.includes([:assigned_to, :status, :tracker, :project, :priority]).where(
- q.statement
- ).order("#{c.sortable} ASC").all
+ issues = q.issues(:order => "#{c.sortable} ASC")
values = issues.collect {|i| i.custom_value_for(c.custom_field).to_s}
assert !values.empty?
assert_equal values.sort, values
@@ -890,9 +888,7 @@ class QueryTest < ActiveSupport::TestCase
c = q.available_columns.find {|col| col.is_a?(QueryCustomFieldColumn) && col.custom_field.field_format == 'string' }
assert c
assert c.sortable
- issues = Issue.includes([:assigned_to, :status, :tracker, :project, :priority]).where(
- q.statement
- ).order("#{c.sortable} DESC").all
+ issues = q.issues(:order => "#{c.sortable} DESC")
values = issues.collect {|i| i.custom_value_for(c.custom_field).to_s}
assert !values.empty?
assert_equal values.sort.reverse, values
@@ -903,9 +899,7 @@ class QueryTest < ActiveSupport::TestCase
c = q.available_columns.find {|col| col.is_a?(QueryCustomFieldColumn) && col.custom_field.field_format == 'float' }
assert c
assert c.sortable
- issues = Issue.includes([:assigned_to, :status, :tracker, :project, :priority]).where(
- q.statement
- ).order("#{c.sortable} ASC").all
+ issues = q.issues(:order => "#{c.sortable} ASC")
values = issues.collect {|i| begin; Kernel.Float(i.custom_value_for(c.custom_field).to_s); rescue; nil; end}.compact
assert !values.empty?
assert_equal values.sort, values