Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

push partitioning up so bind elimination can get the removed wheres

  • Loading branch information...
commit d2d5f15f0729d00132a240dd9e5169dce5962a0d 1 parent a483ae6
@tenderlove tenderlove authored
Showing with 3 additions and 5 deletions.
  1. +3 −5 activerecord/lib/active_record/relation/merger.rb
View
8 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]
Please sign in to comment.
Something went wrong with that request. Please try again.