From 115cad36f432e51c0f805985a9202a28d62559d4 Mon Sep 17 00:00:00 2001 From: Sean Griffin Date: Sat, 1 Nov 2014 13:12:14 -0600 Subject: Don't needlessly alphabetize columns for insert/update This slightly simplifies the code, and reduces the number of times we need to iterate over the attributes by one. --- activerecord/lib/active_record/relation.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'activerecord/lib') diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb index 7f51e4134d..7d4a008f44 100644 --- a/activerecord/lib/active_record/relation.rb +++ b/activerecord/lib/active_record/relation.rb @@ -88,13 +88,12 @@ module ActiveRecord end def substitute_values(values) # :nodoc: - substitutes = values.sort_by { |arel_attr,_| arel_attr.name } - binds = substitutes.map do |arel_attr, value| + binds = values.map do |arel_attr, value| [@klass.columns_hash[arel_attr.name], value] end - substitutes.each_with_index do |tuple, i| - tuple[1] = @klass.connection.substitute_at(binds[i][0], i) + substitutes = values.each_with_index.map do |(arel_attr, _), i| + [arel_attr, @klass.connection.substitute_at(binds[i][0], i)] end [substitutes, binds] -- cgit v1.2.3