aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/transactions_test.rb
diff options
context:
space:
mode:
authorJeffrey Guenther <guenther.jeffrey@gmail.com>2017-11-09 09:31:16 -0800
committerJeffrey Guenther <guenther.jeffrey@gmail.com>2017-11-09 09:31:16 -0800
commitd0550ff6717f18961493ab065ff2eebed6199525 (patch)
treef5ff24082dd79e429b7a33e8fe217ffa3bc0b02b /activerecord/test/cases/transactions_test.rb
parentd58078d8d65de38d9dca9c629c91e13df291dbb3 (diff)
parent5961d6882bc3a6aaa2b3735e7a8cbe3f2fb901af (diff)
downloadrails-d0550ff6717f18961493ab065ff2eebed6199525.tar.gz
rails-d0550ff6717f18961493ab065ff2eebed6199525.tar.bz2
rails-d0550ff6717f18961493ab065ff2eebed6199525.zip
Merge branch 'master' into activestorage-guide
Diffstat (limited to 'activerecord/test/cases/transactions_test.rb')
-rw-r--r--activerecord/test/cases/transactions_test.rb28
1 files changed, 13 insertions, 15 deletions
diff --git a/activerecord/test/cases/transactions_test.rb b/activerecord/test/cases/transactions_test.rb
index 7fd125ab74..5c8ae4d3cb 100644
--- a/activerecord/test/cases/transactions_test.rb
+++ b/activerecord/test/cases/transactions_test.rb
@@ -954,27 +954,25 @@ class TransactionsWithTransactionalFixturesTest < ActiveRecord::TestCase
end
end if Topic.connection.supports_savepoints?
-if current_adapter?(:PostgreSQLAdapter)
+if ActiveRecord::Base.connection.supports_transaction_isolation?
class ConcurrentTransactionTest < TransactionTest
# This will cause transactions to overlap and fail unless they are performed on
# separate database connections.
- unless in_memory_db?
- def test_transaction_per_thread
- threads = 3.times.map do
- Thread.new do
- Topic.transaction do
- topic = Topic.find(1)
- topic.approved = !topic.approved?
- assert topic.save!
- topic.approved = !topic.approved?
- assert topic.save!
- end
- Topic.connection.close
+ def test_transaction_per_thread
+ threads = 3.times.map do
+ Thread.new do
+ Topic.transaction do
+ topic = Topic.find(1)
+ topic.approved = !topic.approved?
+ assert topic.save!
+ topic.approved = !topic.approved?
+ assert topic.save!
end
+ Topic.connection.close
end
-
- threads.each(&:join)
end
+
+ threads.each(&:join)
end
# Test for dirty reads among simultaneous transactions.