aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_adapter.rb')
-rwxr-xr-xactiverecord/lib/active_record/connection_adapters/abstract_adapter.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
index b521a0fdf8..d41356ffa4 100755
--- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -298,16 +298,16 @@ module ActiveRecord
end
# Wrap a block in a transaction. Returns result of block.
- def transaction
+ def transaction(start_db_transaction = true)
begin
if block_given?
- begin_db_transaction
+ begin_db_transaction if start_db_transaction
result = yield
- commit_db_transaction
+ commit_db_transaction if start_db_transaction
result
end
rescue Exception => database_transaction_rollback
- rollback_db_transaction
+ rollback_db_transaction if start_db_transaction
raise
end
end