Permalink
Browse files

Merge pull request #12090 from njakobsen/merger-performance

[Performance] Don't create fibers while merging bind variables
  • Loading branch information...
2 parents baf5f47 + 7db835c commit a3dd738c38df634a46a2261a0de27fd31de7ae51 @tenderlove tenderlove committed Aug 31, 2013
Showing with 3 additions and 3 deletions.
  1. +3 −3 activerecord/lib/active_record/relation/merger.rb
@@ -107,11 +107,11 @@ def merge_multi_values
bind_values = filter_binds(lhs_binds, removed) + rhs_binds
conn = relation.klass.connection
- bviter = bind_values.each.with_index
+ bv_index = 0
where_values.map! do |node|
if Arel::Nodes::Equality === node && Arel::Nodes::BindParam === node.right
- (column, _), i = bviter.next
- substitute = conn.substitute_at column, i
+ substitute = conn.substitute_at(bind_values[bv_index].first, bv_index)
+ bv_index += 1
Arel::Nodes::Equality.new(node.left, substitute)
else
node

0 comments on commit a3dd738

Please sign in to comment.