aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2009-02-22 16:26:32 +1300
committerMichael Koziarski <michael@koziarski.com>2009-02-22 16:41:04 +1300
commit06040849b5a680c2a87893699580f9b9b80f72e4 (patch)
treec090c310d73d51ddd104b892d3750a5b49705860 /activerecord
parent3248553d3299cbb723f1b4103c16bad7ecdd24a6 (diff)
downloadrails-06040849b5a680c2a87893699580f9b9b80f72e4.tar.gz
rails-06040849b5a680c2a87893699580f9b9b80f72e4.tar.bz2
rails-06040849b5a680c2a87893699580f9b9b80f72e4.zip
Revert "Wrap calls to update_attributes in a transaction."
This caused failures on sqlite, sqlite3 and postgresql This reverts commit fc09ebc669bd58f415f7d3ef932ef02dab821ab5. [#922 state:reopened]
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/transactions.rb16
-rw-r--r--activerecord/test/cases/transactions_test.rb34
2 files changed, 1 insertions, 49 deletions
diff --git a/activerecord/lib/active_record/transactions.rb b/activerecord/lib/active_record/transactions.rb
index 9eabe7172b..0b6e52c79b 100644
--- a/activerecord/lib/active_record/transactions.rb
+++ b/activerecord/lib/active_record/transactions.rb
@@ -10,7 +10,7 @@ module ActiveRecord
base.extend(ClassMethods)
base.class_eval do
- [:destroy, :save, :save!, :update_attribute, :update_attributes, :update_attributes!].each do |method|
+ [:destroy, :save, :save!].each do |method|
alias_method_chain method, :transactions
end
end
@@ -200,20 +200,6 @@ module ActiveRecord
rollback_active_record_state! { self.class.transaction { save_without_transactions! } }
end
- def update_attribute_with_transactions(name, value)
- with_transaction_returning_status(:update_attribute_without_transactions, name, value)
- end
-
- def update_attributes_with_transactions(attributes)
- with_transaction_returning_status(:update_attributes_without_transactions, attributes)
- end
-
- def update_attributes_with_transactions!(attributes)
- transaction do
- update_attributes_without_transactions!(attributes)
- end
- end
-
# Reset id and @new_record if the transaction rolls back.
def rollback_active_record_state!
id_present = has_attribute?(self.class.primary_key)
diff --git a/activerecord/test/cases/transactions_test.rb b/activerecord/test/cases/transactions_test.rb
index bb8b9bb017..40abd935df 100644
--- a/activerecord/test/cases/transactions_test.rb
+++ b/activerecord/test/cases/transactions_test.rb
@@ -182,40 +182,6 @@ class TransactionTest < ActiveRecord::TestCase
end
end
- def test_update_attribute_should_rollback_on_failure
- Developer.before_save do
- false
- end
- developer = Developer.first
- developer.audit_logs.clear
- 2.times { developer.audit_logs.create(:message => 'message') }
- assert_equal 2, developer.audit_logs.size
- status = developer.update_attribute(:audit_log_ids, [])
- assert !status
- assert_equal 2, developer.audit_logs(true).size
- end
-
- def test_update_attributes_should_rollback_on_failure
- developer = Developer.first
- developer.audit_logs.clear
- 2.times { developer.audit_logs.create(:message => 'message') }
- assert_equal 2, developer.audit_logs.size
- status = developer.update_attributes(:audit_log_ids => [], :name => nil)
- assert !status
- assert_equal 2, developer.audit_logs(true).size
- end
-
- def test_update_attributes_should_rollback_on_failure!
- developer = Developer.first
- developer.audit_logs.clear
- 2.times { developer.audit_logs.create(:message => 'message') }
- assert_equal 2, developer.audit_logs.size
- assert_raise(ActiveRecord::RecordInvalid) do
- developer.update_attributes!(:audit_log_ids => [], :name => nil)
- end
- assert_equal 2, developer.audit_logs(true).size
- end
-
def test_nested_explicit_transactions
Topic.transaction do
Topic.transaction do