aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@plataformatec.com.br>2013-08-31 02:48:06 -0700
committerJosé Valim <jose.valim@plataformatec.com.br>2013-08-31 02:48:06 -0700
commit6617437ef26c27e8be99d5d086f810c5c4aaf6a0 (patch)
treef6024f26eb402bc3d18ae94d6b73994b59a1f74b /activerecord/lib/active_record
parent92c35ad74c996d8fe80cf992a41ff76d5798ec96 (diff)
parent8467be9e142b0eb75b9007ca9510592ab11368b5 (diff)
downloadrails-6617437ef26c27e8be99d5d086f810c5c4aaf6a0.tar.gz
rails-6617437ef26c27e8be99d5d086f810c5c4aaf6a0.tar.bz2
rails-6617437ef26c27e8be99d5d086f810c5c4aaf6a0.zip
Merge pull request #12091 from rywall/pluck-optimization
[Perf] Don't use Enumerable#next in pluck since it is very slow
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/relation/calculations.rb3
1 files changed, 1 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb
index 52a538e5b5..27c04b0952 100644
--- a/activerecord/lib/active_record/relation/calculations.rb
+++ b/activerecord/lib/active_record/relation/calculations.rb
@@ -161,8 +161,7 @@ module ActiveRecord
result = result.map do |attributes|
values = klass.initialize_attributes(attributes).values
- iter = columns.each
- values.map { |value| iter.next.type_cast value }
+ columns.zip(values).map { |column, value| column.type_cast value }
end
columns.one? ? result.map!(&:first) : result
end