diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-07-08 08:46:07 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-07-08 08:46:07 +0900 |
commit | dddb331bd24ab163ac61b4af7abbdb920264bf9b (patch) | |
tree | 82d171294c7c8bff0e27318166cdacca940ea0c1 /activerecord/test | |
parent | 74ef67b16de67d2ae2f996e50a18a93aebf68fe6 (diff) | |
download | rails-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')
-rw-r--r-- | activerecord/test/cases/calculations_test.rb | 7 |
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 |