aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/query_methods.rb
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2011-02-18 15:29:33 -0300
committerEmilio Tagua <miloops@gmail.com>2011-02-18 15:29:33 -0300
commit0b702ba3de42ed2ae8855843127f898102802b77 (patch)
treefc7d9b2fd78c3558dd978f3b67e5e58792551668 /activerecord/lib/active_record/relation/query_methods.rb
parent90a850aea4c2c04df22be0aaad1144468fcc8078 (diff)
parent1644663ba7f678d178deab2bf1629dc05626f85b (diff)
downloadrails-0b702ba3de42ed2ae8855843127f898102802b77.tar.gz
rails-0b702ba3de42ed2ae8855843127f898102802b77.tar.bz2
rails-0b702ba3de42ed2ae8855843127f898102802b77.zip
Merge remote branch 'rails/master' into identity_map
Conflicts: activerecord/lib/active_record/associations/association.rb activerecord/lib/active_record/fixtures.rb
Diffstat (limited to 'activerecord/lib/active_record/relation/query_methods.rb')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb11
1 files changed, 1 insertions, 10 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 6a905b8588..f76681e880 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -209,16 +209,7 @@ module ActiveRecord
def collapse_wheres(arel, wheres)
equalities = wheres.grep(Arel::Nodes::Equality)
- groups = equalities.group_by do |equality|
- equality.left
- end
-
- groups.each do |_, eqls|
- test = eqls.inject(eqls.shift) do |memo, expr|
- memo.or(expr)
- end
- arel.where(test)
- end
+ arel.where(Arel::Nodes::And.new(equalities)) unless equalities.empty?
(wheres - equalities).each do |where|
where = Arel.sql(where) if String === where