diff options
author | Paul Nikitochkin <paul.nikitochkin@gmail.com> | 2013-12-09 01:23:38 +0200 |
---|---|---|
committer | Paul Nikitochkin <paul.nikitochkin@gmail.com> | 2013-12-10 14:30:12 +0200 |
commit | 2a7fe7ae9b09024acea3c5d525c89b91bdb264a1 (patch) | |
tree | 0749e9445cb7c0a9417c1a6dfff8b159f70e4c51 /activerecord/test/cases | |
parent | 4aae538d9ffff3a00a81f3da52fa70f7fd79ac74 (diff) | |
download | rails-2a7fe7ae9b09024acea3c5d525c89b91bdb264a1.tar.gz rails-2a7fe7ae9b09024acea3c5d525c89b91bdb264a1.tar.bz2 rails-2a7fe7ae9b09024acea3c5d525c89b91bdb264a1.zip |
Fix type cast on group sum with custom expression
For PG adapters with custom expression and grouped result
of aggregate functions have not found correct column type
for it. Extract column type from query result.
Closes: #13230
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/calculations_test.rb | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/test/cases/calculations_test.rb b/activerecord/test/cases/calculations_test.rb index 2c41656b3d..2f6913167d 100644 --- a/activerecord/test/cases/calculations_test.rb +++ b/activerecord/test/cases/calculations_test.rb @@ -211,6 +211,10 @@ class CalculationsTest < ActiveRecord::TestCase assert_equal 19.83, NumericData.sum(:bank_balance) end + def test_should_return_type_casted_values_with_group_and_expression + assert_equal 0.5, Account.group(:firm_name).sum('0.01 * credit_limit')['37signals'] + end + def test_should_group_by_summed_field_with_conditions c = Account.where('firm_id > 1').group(:firm_id).sum(:credit_limit) assert_nil c[1] |