Permalink
Browse files

push partitioning up so bind elimination can get the removed wheres

  • Loading branch information...
1 parent a483ae6 commit d2d5f15f0729d00132a240dd9e5169dce5962a0d @tenderlove tenderlove committed May 21, 2013
Showing with 3 additions and 5 deletions.
  1. +3 −5 activerecord/lib/active_record/relation/merger.rb
@@ -102,7 +102,9 @@ def merge_multi_values
rhs_wheres = values[:where] || []
lhs_wheres = relation.where_values
- relation.where_values = merged_wheres(lhs_wheres, rhs_wheres)
+ _, kept = partition_overwrites(lhs_wheres, rhs_wheres)
+
+ relation.where_values = kept + rhs_wheres
relation.bind_values = merged_binds
if values[:reordering]
@@ -134,10 +136,6 @@ def merged_binds
end
end
- def merged_wheres(lhs_wheres, rhs_wheres)
- partition_overwrites(lhs_wheres, rhs_wheres).last + rhs_wheres
- end
-
# Remove equalities from the existing relation with a LHS which is
# present in the relation being merged in.
# returns [things_to_remove, things_to_keep]

0 comments on commit d2d5f15

Please sign in to comment.