diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2017-08-14 18:31:42 -0400 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2017-08-14 18:31:42 -0400 |
commit | 3fc47f4d82175c3f32dab6177685ae24f485c7b1 (patch) | |
tree | cb37ddb9973dc3a58720f6b3bc87e10bc1ccc02d /activerecord/lib | |
parent | 6b632336c172ea397bb1386ff44c2e8320672cb4 (diff) | |
parent | 566f1fd068711dfe557bef63406f8dd6d41d473d (diff) | |
download | rails-3fc47f4d82175c3f32dab6177685ae24f485c7b1.tar.gz rails-3fc47f4d82175c3f32dab6177685ae24f485c7b1.tar.bz2 rails-3fc47f4d82175c3f32dab6177685ae24f485c7b1.zip |
Merge pull request #30169 from awortham/awortham/awortham/fix-sql-distinct-bug
Ensure sum honors distinct on has_many through
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/relation/calculations.rb | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb index d3b5be6bce..42d43224fa 100644 --- a/activerecord/lib/active_record/relation/calculations.rb +++ b/activerecord/lib/active_record/relation/calculations.rb @@ -259,6 +259,9 @@ module ActiveRecord column = aggregate_column(column_name) select_value = operation_over_aggregate_column(column, operation, distinct) + if operation == "sum" && distinct + select_value.distinct = true + end column_alias = select_value.alias column_alias ||= @klass.connection.column_name_for_operation(operation, select_value) |