diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2018-12-12 23:12:51 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2018-12-12 23:14:26 +0900 |
commit | 7d83ef4f7bd9e5766ebdb438370621a98be06a7c (patch) | |
tree | aedab859c324176a5eef2b9cc9f6854734ff53bc /activerecord/lib | |
parent | 4dd06452ef2745423c1643835483ef72cddfdaed (diff) | |
download | rails-7d83ef4f7bd9e5766ebdb438370621a98be06a7c.tar.gz rails-7d83ef4f7bd9e5766ebdb438370621a98be06a7c.tar.bz2 rails-7d83ef4f7bd9e5766ebdb438370621a98be06a7c.zip |
Ensure that preventing writes is invoked before `materialize_transactions` consistently
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb b/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb index e1b791fe41..6adcc14545 100644 --- a/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb @@ -40,8 +40,6 @@ module ActiveRecord end def exec_query(sql, name = "SQL", binds = [], prepare: false) - materialize_transactions - if without_prepared_statement?(binds) execute_and_free(sql, name) do |result| if result @@ -62,8 +60,6 @@ module ActiveRecord end def exec_delete(sql, name = nil, binds = []) - materialize_transactions - if without_prepared_statement?(binds) execute_and_free(sql, name) { @connection.affected_rows } else @@ -126,6 +122,8 @@ module ActiveRecord raise ActiveRecord::ReadOnlyError, "Write query attempted while in readonly mode: #{sql}" end + materialize_transactions + # make sure we carry over any changes to ActiveRecord::Base.default_timezone that have been # made since we established the connection @connection.query_options[:database_timezone] = ActiveRecord::Base.default_timezone |