aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb
diff options
context:
space:
mode:
authorQuan Chau <quan.chau@appfolio.com>2018-12-27 10:59:18 -0800
committerQuan Chau <quan.chau@appfolio.com>2019-04-08 12:02:41 -0700
commit66762b81f45a4499a749378bbf14eb64bc097d3a (patch)
treea1bb1c0ba5b35d43c2777677afc0e558f62918d2 /activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb
parent95a1d8721c84d13951f0a531e0dda6233d3180d4 (diff)
downloadrails-66762b81f45a4499a749378bbf14eb64bc097d3a.tar.gz
rails-66762b81f45a4499a749378bbf14eb64bc097d3a.tar.bz2
rails-66762b81f45a4499a749378bbf14eb64bc097d3a.zip
Wrap Mysql count of deleted rows in lock block to avoid conflict in test
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb4
1 files changed, 3 insertions, 1 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 a14394fe04..2132e5d248 100644
--- a/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb
@@ -61,7 +61,9 @@ module ActiveRecord
def exec_delete(sql, name = nil, binds = [])
if without_prepared_statement?(binds)
- execute_and_free(sql, name) { @connection.affected_rows }
+ @lock.synchronize do
+ execute_and_free(sql, name) { @connection.affected_rows }
+ end
else
exec_stmt_and_free(sql, name, binds) { |stmt| stmt.affected_rows }
end