From 86a853e4ec5c8adfa38a4faa5fa5bd68d992c00d Mon Sep 17 00:00:00 2001 From: Arthur Neves Date: Fri, 9 Jan 2015 15:54:20 -0500 Subject: 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 --- .../lib/active_record/connection_adapters/abstract/transaction.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'activerecord/lib/active_record/connection_adapters/abstract') 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 -- cgit v1.2.3