From c4469e6c39f68eee97d6cc21412b685eaeb59dce Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 31 Jan 2012 11:29:52 -0800 Subject: Revert "Merge pull request #4746 from jenslukowski/issue4718" This reverts commit 5cad7a0dba652f3e942e58087bc88ba5c5390edc, reversing changes made to bb842e8d2111e50b21a14b8bd6d89371a4b9cd68. --- activerecord/lib/active_record/relation/finder_methods.rb | 9 +-------- activerecord/test/cases/identity_map_test.rb | 8 -------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index b54a167dc3..f1ac421a50 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -318,8 +318,7 @@ module ActiveRecord def find_one(id) id = id.id if ActiveRecord::Base === id - if IdentityMap.enabled? && - (where_values.blank? || contains_only_subclass_constraint?(where_values)) && + if IdentityMap.enabled? && where_values.blank? && limit_value.blank? && order_values.blank? && includes_values.blank? && preload_values.blank? && readonly_value.nil? && joins_values.blank? && @@ -395,11 +394,5 @@ module ActiveRecord def using_limitable_reflections?(reflections) reflections.none? { |r| r.collection? } end - - def contains_only_subclass_constraint?(where_values) - where_values.length == 1 && - !where_values[0].left.nil? && where_values[0].left.relation.name == table_name && - !where_values[0].right.nil? && where_values[0].right.length == 1 && where_values[0].right[0] == @klass.name - end end end diff --git a/activerecord/test/cases/identity_map_test.rb b/activerecord/test/cases/identity_map_test.rb index 0d031d433c..3efc8bf559 100644 --- a/activerecord/test/cases/identity_map_test.rb +++ b/activerecord/test/cases/identity_map_test.rb @@ -162,14 +162,6 @@ class IdentityMapTest < ActiveRecord::TestCase c2 = Comment.find(c.id) assert_same(c1, c2) end - - def test_queries_are_not_executed_when_finding_inherited_class_by_id - c = comments(:sub_special_comment) - SubSpecialComment.find(c.id) - assert_no_queries do - SubSpecialComment.find(c.id) - end - end ############################################################################## # Tests checking dirty attribute behavior with IM # -- cgit v1.2.3