diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-11-16 21:15:34 -0200 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-11-16 21:15:34 -0200 |
commit | 88a296dccc401da143d90cad54b693ff06bf2b58 (patch) | |
tree | 48fffd9e694b6a9ffb5bed2b921e08edf1824f8c /activerecord/lib/active_record/relation/calculations.rb | |
parent | 666a7e34f553cef4c8878362eafc79c7e3f310c3 (diff) | |
parent | b6a2baee830f464344b7cb82caaa528be1db7389 (diff) | |
download | rails-88a296dccc401da143d90cad54b693ff06bf2b58.tar.gz rails-88a296dccc401da143d90cad54b693ff06bf2b58.tar.bz2 rails-88a296dccc401da143d90cad54b693ff06bf2b58.zip |
Merge pull request #7983 from georgebrock/bug7950-squashed
Backport 4bc2ae0 to fix #7950
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/relation/calculations.rb
Diffstat (limited to 'activerecord/lib/active_record/relation/calculations.rb')
-rw-r--r-- | activerecord/lib/active_record/relation/calculations.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb index 8b605dd4f1..45e9e64229 100644 --- a/activerecord/lib/active_record/relation/calculations.rb +++ b/activerecord/lib/active_record/relation/calculations.rb @@ -180,7 +180,7 @@ module ActiveRecord column_name = column_name.to_s relation = clone relation.select_values = [column_name] - klass.connection.select_all(relation.arel).map! do |attributes| + klass.connection.select_all(relation.arel, nil, bind_values).map! do |attributes| klass.type_cast_attribute(attributes.keys.first, klass.initialize_attributes(attributes)) end end @@ -242,7 +242,8 @@ module ActiveRecord query_builder = relation.arel end - type_cast_calculated_value(@klass.connection.select_value(query_builder), column_for(column_name), operation) + result = @klass.connection.select_value(query_builder, nil, relation.bind_values) + type_cast_calculated_value(result, column_for(column_name), operation) end def execute_grouped_calculation(operation, column_name, distinct) #:nodoc: @@ -288,7 +289,7 @@ module ActiveRecord relation = except(:group).group(group) relation.select_values = select_values - calculated_data = @klass.connection.select_all(relation) + calculated_data = @klass.connection.select_all(relation, nil, bind_values) if association key_ids = calculated_data.collect { |row| row[group_aliases.first] } |