Ensure that ORDER BY clauses from default scopes are not included in calculation queries. Fixes #406.
This commit is contained in:
parent
b3791da031
commit
8f10ccd311
@ -197,7 +197,7 @@ def operation_over_aggregate_column(column, operation, distinct)
|
||||
|
||||
def execute_simple_calculation(operation, column_name, distinct) #:nodoc:
|
||||
# Postgresql doesn't like ORDER BY when there are no GROUP BY
|
||||
relation = except(:order)
|
||||
relation = reorder(nil)
|
||||
|
||||
if operation == "count" && (relation.limit_value || relation.offset_value)
|
||||
# Shortcut when limit is zero.
|
||||
|
@ -462,4 +462,8 @@ def test_unscoped_with_named_scope_should_not_have_default_scope
|
||||
assert DeveloperCalledJamis.unscoped.poor.include?(developers(:david).becomes(DeveloperCalledJamis))
|
||||
assert_equal 10, DeveloperCalledJamis.unscoped.poor.length
|
||||
end
|
||||
|
||||
def test_default_scope_order_ignored_by_aggregations
|
||||
assert_equal DeveloperOrderedBySalary.all.count, DeveloperOrderedBySalary.count
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user