aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/calculations_test.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2019-07-08 08:46:07 +0900
committerRyuta Kamizono <kamipo@gmail.com>2019-07-08 08:46:07 +0900
commitdddb331bd24ab163ac61b4af7abbdb920264bf9b (patch)
tree82d171294c7c8bff0e27318166cdacca940ea0c1 /activerecord/test/cases/calculations_test.rb
parent74ef67b16de67d2ae2f996e50a18a93aebf68fe6 (diff)
downloadrails-dddb331bd24ab163ac61b4af7abbdb920264bf9b.tar.gz
rails-dddb331bd24ab163ac61b4af7abbdb920264bf9b.tar.bz2
rails-dddb331bd24ab163ac61b4af7abbdb920264bf9b.zip
Do not use aliases in GROUP BY clause
It appears that Oracle does not allow using aliases in GROUP BY clause unlike ORDER BY clause. Fixes #36613.
Diffstat (limited to 'activerecord/test/cases/calculations_test.rb')
-rw-r--r--activerecord/test/cases/calculations_test.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/activerecord/test/cases/calculations_test.rb b/activerecord/test/cases/calculations_test.rb
index 525085bb28..dbd1d03c4c 100644
--- a/activerecord/test/cases/calculations_test.rb
+++ b/activerecord/test/cases/calculations_test.rb
@@ -139,6 +139,13 @@ class CalculationsTest < ActiveRecord::TestCase
end
end
+ def test_should_not_use_alias_for_grouped_field
+ assert_sql(/GROUP BY #{Regexp.escape(Account.connection.quote_table_name("accounts.firm_id"))}/i) do
+ c = Account.group(:firm_id).order("accounts_firm_id").sum(:credit_limit)
+ assert_equal [1, 2, 6, 9], c.keys.compact
+ end
+ end
+
def test_should_order_by_grouped_field
c = Account.group(:firm_id).order("firm_id").sum(:credit_limit)
assert_equal [1, 2, 6, 9], c.keys.compact