diff options
author | Nicholas Jakobsen <nicholas.jakobsen@gmail.com> | 2013-08-30 13:02:45 -0700 |
---|---|---|
committer | Nicholas Jakobsen <nicholas.jakobsen@gmail.com> | 2013-08-30 15:07:05 -0700 |
commit | 7db835c9f98ee6cc536d0304a5f7a9965efc86cb (patch) | |
tree | 31f17d9f4081dbc8ca730f5b2960aba5331a7e10 | |
parent | 15455d76c8d33b3767a61e0cdd2de0ff592098ef (diff) | |
download | rails-7db835c9f98ee6cc536d0304a5f7a9965efc86cb.tar.gz rails-7db835c9f98ee6cc536d0304a5f7a9965efc86cb.tar.bz2 rails-7db835c9f98ee6cc536d0304a5f7a9965efc86cb.zip |
Don't create fibers just to iterate
-rw-r--r-- | activerecord/lib/active_record/relation/merger.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/relation/merger.rb b/activerecord/lib/active_record/relation/merger.rb index c08158d38b..530c47d0d0 100644 --- a/activerecord/lib/active_record/relation/merger.rb +++ b/activerecord/lib/active_record/relation/merger.rb @@ -107,11 +107,11 @@ module ActiveRecord 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 |