backport fix for rails

This commit is contained in:
Sam 2013-09-10 14:29:37 +10:00
parent 216ecaaffd
commit edf6f3012d
1 changed files with 22 additions and 0 deletions

View File

@ -0,0 +1,22 @@
# see PR: https://github.com/rails/rails/pull/12185
#
class ActiveRecord::Associations::JoinDependency::JoinPart
def extract_record(row)
# Used to be: Hash[column_names_with_alias.map{|cn, an| [cn, row[an]]}]
# that is fairly inefficient cause all the values are first copied
# in to an array only to construct the Hash
# This code is performance critical as it is called per row.
hash = {}
index = 0
while index < column_names_with_alias.length do
cn,an = column_names_with_alias[index]
hash[cn] = row[an]
index += 1
end
hash
end
end