aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/fixtures.rb
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2012-09-14 13:35:24 +0100
committerJon Leighton <j@jonathanleighton.com>2012-09-15 00:00:50 +0100
commit02f25a226f6418f95d7ea1c62f68b2f8688ae37a (patch)
tree229ce16e4d8149ef08f83efd68d7ddf376aaa533 /activerecord/lib/active_record/fixtures.rb
parentb89ffe7f0047eb614e42232a21201b317b880755 (diff)
downloadrails-02f25a226f6418f95d7ea1c62f68b2f8688ae37a.tar.gz
rails-02f25a226f6418f95d7ea1c62f68b2f8688ae37a.tar.bz2
rails-02f25a226f6418f95d7ea1c62f68b2f8688ae37a.zip
Start to tease out transaction handling into a state machine
Diffstat (limited to 'activerecord/lib/active_record/fixtures.rb')
-rw-r--r--activerecord/lib/active_record/fixtures.rb8
1 files changed, 2 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/fixtures.rb b/activerecord/lib/active_record/fixtures.rb
index b1db5f6f9f..1f72442832 100644
--- a/activerecord/lib/active_record/fixtures.rb
+++ b/activerecord/lib/active_record/fixtures.rb
@@ -843,9 +843,8 @@ module ActiveRecord
end
@fixture_connections = enlist_fixture_connections
@fixture_connections.each do |connection|
- connection.increment_open_transactions
+ connection.begin_transaction
connection.transaction_joinable = false
- connection.begin_db_transaction
end
# Load fixtures for every test.
else
@@ -868,10 +867,7 @@ module ActiveRecord
# Rollback changes if a transaction is active.
if run_in_transaction?
@fixture_connections.each do |connection|
- if connection.open_transactions != 0
- connection.rollback_db_transaction
- connection.decrement_open_transactions
- end
+ connection.rollback_transaction if connection.transaction_state.open?
end
@fixture_connections.clear
end