aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters
diff options
context:
space:
mode:
authorArthur Neves <arthurnn@gmail.com>2015-01-09 15:54:20 -0500
committerArthur Neves <arthurnn@gmail.com>2015-01-09 15:54:20 -0500
commit86a853e4ec5c8adfa38a4faa5fa5bd68d992c00d (patch)
tree6a6af3d2486c3099b508fbfb6a4b001f9b9cc6c0 /activerecord/lib/active_record/connection_adapters
parentc7f56d99e51a62326c3639ca5b95e5416cb1f1d5 (diff)
downloadrails-86a853e4ec5c8adfa38a4faa5fa5bd68d992c00d.tar.gz
rails-86a853e4ec5c8adfa38a4faa5fa5bd68d992c00d.tar.bz2
rails-86a853e4ec5c8adfa38a4faa5fa5bd68d992c00d.zip
Copy records to parent transaction should happen on TransactionManager
It is up to the TransactionManager keep the state of current transaction, so after it commits it needs to copy any remaning record to the next current transaction
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/transaction.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb b/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb
index 335eb876cf..7535e9147a 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb
@@ -117,8 +117,6 @@ module ActiveRecord
def commit
connection.release_savepoint(savepoint_name)
super
- parent = connection.transaction_manager.current_transaction
- records.each { |r| parent.add_record(r) }
end
def full_rollback?; false; end
@@ -166,7 +164,9 @@ module ActiveRecord
end
def commit_transaction
- @stack.pop.commit
+ transaction = @stack.pop
+ transaction.commit
+ transaction.records.each { |r| current_transaction.add_record(r) }
end
def rollback_transaction