aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2008-12-10 14:48:12 -0800
committerJeremy Kemper <jeremy@bitsweat.net>2008-12-10 14:48:12 -0800
commitb30ae1974851b20ef430df9de17e6e79e5b25ad2 (patch)
tree160b26560998d5b7f9ed7148a4779e6af1b847a5 /activerecord
parent96b815d7e81b9cef912ef94c96dca923fe43b0ba (diff)
downloadrails-b30ae1974851b20ef430df9de17e6e79e5b25ad2.tar.gz
rails-b30ae1974851b20ef430df9de17e6e79e5b25ad2.tar.bz2
rails-b30ae1974851b20ef430df9de17e6e79e5b25ad2.zip
Revert "Fix: counter_cache should decrement on deleting associated records."
[#1196 state:open] This reverts commit 05f2183747c8e75c9e8bbaadb9573b4bdf41ecfc.
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/associations/association_collection.rb3
-rw-r--r--activerecord/test/cases/associations/has_many_associations_test.rb20
-rw-r--r--activerecord/test/cases/associations/has_many_through_associations_test.rb14
3 files changed, 0 insertions, 37 deletions
diff --git a/activerecord/lib/active_record/associations/association_collection.rb b/activerecord/lib/active_record/associations/association_collection.rb
index 0ad58010b2..0ff91fbdf8 100644
--- a/activerecord/lib/active_record/associations/association_collection.rb
+++ b/activerecord/lib/active_record/associations/association_collection.rb
@@ -202,9 +202,6 @@ module ActiveRecord
records.each do |record|
@target.delete(record)
- if respond_to?(:cached_counter_attribute_name) && @owner[cached_counter_attribute_name]
- @owner.class.decrement_counter(cached_counter_attribute_name, @owner.send(@owner.class.primary_key))
- end
callback(:after_remove, record)
end
end
diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb
index 1f8b297e81..816ceb6855 100644
--- a/activerecord/test/cases/associations/has_many_associations_test.rb
+++ b/activerecord/test/cases/associations/has_many_associations_test.rb
@@ -552,18 +552,6 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
assert_equal 0, companies(:first_firm).clients_of_firm(true).size
end
- def test_deleting_updates_counter_cache
- post = Post.first
-
- post.comments.delete(post.comments.first)
- post.reload
- assert_equal post.comments(true).size, post.comments_count
-
- post.comments.delete(post.comments.first)
- post.reload
- assert_equal 0, post.comments_count
- end
-
def test_deleting_before_save
new_firm = Firm.new("name" => "A New Firm, Inc.")
new_client = new_firm.clients_of_firm.build("name" => "Another Client")
@@ -617,14 +605,6 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
end
end
- def test_clearing_updates_counter_cache
- post = Post.first
-
- post.comments.clear
- post.reload
- assert_equal 0, post.comments_count
- end
-
def test_clearing_a_dependent_association_collection
firm = companies(:first_firm)
client_id = firm.dependent_clients_of_firm.first.id
diff --git a/activerecord/test/cases/associations/has_many_through_associations_test.rb b/activerecord/test/cases/associations/has_many_through_associations_test.rb
index ba3428a508..a07f4bcbdd 100644
--- a/activerecord/test/cases/associations/has_many_through_associations_test.rb
+++ b/activerecord/test/cases/associations/has_many_through_associations_test.rb
@@ -3,9 +3,6 @@ require 'models/post'
require 'models/person'
require 'models/reader'
require 'models/comment'
-require 'models/tag'
-require 'models/tagging'
-require 'models/author'
class HasManyThroughAssociationsTest < ActiveRecord::TestCase
fixtures :posts, :readers, :people, :comments, :authors
@@ -87,17 +84,6 @@ class HasManyThroughAssociationsTest < ActiveRecord::TestCase
assert posts(:welcome).reload.people(true).empty?
end
- def test_deleting_updates_counter_cache
- taggable = Tagging.first.taggable
- taggable.taggings.push(Tagging.new)
- taggable.reload
- assert_equal 1, taggable.taggings_count
-
- taggable.taggings.delete(taggable.taggings.first)
- taggable.reload
- assert_equal 0, taggable.taggings_count
- end
-
def test_replace_association
assert_queries(4){posts(:welcome);people(:david);people(:michael); posts(:welcome).people(true)}