mirror of
https://github.com/redmine/redmine.git
synced 2026-05-07 17:17:06 +02:00
Pass the order option as an array to satisfy sqlserver adapter (#12713).
Unlike other adapters, the sqlserver adapter processes the order option and wipes it when using functions.
Here we can see a "ASC" inserted in the COALESCE call:
irb(main):001:0> Issue.order("coalesce(estimated_hours, 0), id").to_sql
=> "SELECT [issues].* FROM [issues] ORDER BY coalesce(estimated_hours ASC, 0) ASC, id ASC"
This does not happen when passing the order SQL fragments separately.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11115 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -30,21 +30,21 @@ class SortHelperTest < ActionView::TestCase
|
||||
sort_init 'attr1', 'desc'
|
||||
sort_update(['attr1', 'attr2'])
|
||||
|
||||
assert_equal 'attr1 DESC', sort_clause
|
||||
assert_equal ['attr1 DESC'], sort_clause
|
||||
end
|
||||
|
||||
def test_default_sort_clause_with_hash
|
||||
sort_init 'attr1', 'desc'
|
||||
sort_update({'attr1' => 'table1.attr1', 'attr2' => 'table2.attr2'})
|
||||
|
||||
assert_equal 'table1.attr1 DESC', sort_clause
|
||||
assert_equal ['table1.attr1 DESC'], sort_clause
|
||||
end
|
||||
|
||||
def test_default_sort_clause_with_multiple_columns
|
||||
sort_init 'attr1', 'desc'
|
||||
sort_update({'attr1' => ['table1.attr1', 'table1.attr2'], 'attr2' => 'table2.attr2'})
|
||||
|
||||
assert_equal 'table1.attr1 DESC, table1.attr2 DESC', sort_clause
|
||||
assert_equal ['table1.attr1 DESC', 'table1.attr2 DESC'], sort_clause
|
||||
end
|
||||
|
||||
def test_params_sort
|
||||
@@ -53,7 +53,7 @@ class SortHelperTest < ActionView::TestCase
|
||||
sort_init 'attr1', 'desc'
|
||||
sort_update({'attr1' => 'table1.attr1', 'attr2' => 'table2.attr2'})
|
||||
|
||||
assert_equal 'table1.attr1, table2.attr2 DESC', sort_clause
|
||||
assert_equal ['table1.attr1', 'table2.attr2 DESC'], sort_clause
|
||||
assert_equal 'attr1,attr2:desc', @session['foo_bar_sort']
|
||||
end
|
||||
|
||||
@@ -63,7 +63,7 @@ class SortHelperTest < ActionView::TestCase
|
||||
sort_init 'attr1', 'desc'
|
||||
sort_update({'attr1' => 'table1.attr1', 'attr2' => 'table2.attr2'})
|
||||
|
||||
assert_equal 'table1.attr1 DESC', sort_clause
|
||||
assert_equal ['table1.attr1 DESC'], sort_clause
|
||||
assert_equal 'attr1:desc', @session['foo_bar_sort']
|
||||
end
|
||||
|
||||
@@ -73,7 +73,7 @@ class SortHelperTest < ActionView::TestCase
|
||||
sort_init 'attr1', 'desc'
|
||||
sort_update({'attr1' => 'table1.attr1', 'attr2' => 'table2.attr2'})
|
||||
|
||||
assert_equal 'table1.attr1, table2.attr2', sort_clause
|
||||
assert_equal ['table1.attr1', 'table2.attr2'], sort_clause
|
||||
assert_equal 'attr1,attr2', @session['foo_bar_sort']
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user