diff options
author | Arthur Neves <arthurnn@gmail.com> | 2015-01-09 15:54:20 -0500 |
---|---|---|
committer | Arthur Neves <arthurnn@gmail.com> | 2015-01-09 15:54:20 -0500 |
commit | 86a853e4ec5c8adfa38a4faa5fa5bd68d992c00d (patch) | |
tree | 6a6af3d2486c3099b508fbfb6a4b001f9b9cc6c0 /activerecord/lib/active_record/connection_adapters/abstract | |
parent | c7f56d99e51a62326c3639ca5b95e5416cb1f1d5 (diff) | |
download | rails-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/abstract')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/transaction.rb | 6 |
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 |