diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2018-12-11 20:55:36 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2018-12-11 21:07:37 +0900 |
commit | 574234402433065e08a407be7cbdc900e5e0f1a3 (patch) | |
tree | 8057e982eb3b4e26a57ee94acdd075ea24b46945 /activerecord/test/cases | |
parent | cb714c3687f6b0cf13bb4a0655d7b648e37239d7 (diff) | |
download | rails-574234402433065e08a407be7cbdc900e5e0f1a3.tar.gz rails-574234402433065e08a407be7cbdc900e5e0f1a3.tar.bz2 rails-574234402433065e08a407be7cbdc900e5e0f1a3.zip |
An empty transaction does not raise the `ReadOnlyError` if preventing writes
BEGIN transaction would cause COMMIT or ROLLBACK, so unless COMMIT and
ROLLBACK aren't treated as write queries as well as BEGIN, the
`ReadOnlyError` would be raised.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/base_test.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 30e8a5f833..4938b6865f 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1538,4 +1538,14 @@ class BasicsTest < ActiveRecord::TestCase assert_queries(2) { Bird.where(name: "Bluejay").explain } end end + + test "an empty transaction does not raise if preventing writes" do + ActiveRecord::Base.connection.while_preventing_writes do + assert_queries(2, ignore_none: true) do + Bird.transaction do + ActiveRecord::Base.connection.materialize_transactions + end + end + end + end end |