aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorEdouard CHIN <edouard.chin@shopify.com>2018-01-22 12:51:59 -0500
committerEdouard CHIN <edouard.chin@shopify.com>2018-01-22 13:03:16 -0500
commit9a5b1fad630e4d35b64bb62b92c00e6cc79046d4 (patch)
tree7c7f967a81933751c7d8387a144067dec614e274 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent22a26d249f78d650752057d0a5d82f34a312d041 (diff)
downloadrails-9a5b1fad630e4d35b64bb62b92c00e6cc79046d4.tar.gz
rails-9a5b1fad630e4d35b64bb62b92c00e6cc79046d4.tar.bz2
rails-9a5b1fad630e4d35b64bb62b92c00e6cc79046d4.zip
Combine delete and insert statements in the same query
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb12
1 files changed, 5 insertions, 7 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
index 4537d6455d..5e6ab1c16d 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -545,14 +545,12 @@ module ActiveRecord
private
- def combine_multi_statements(fixture_inserts, tables_to_delete)
- super
-
- fixture_inserts.each_with_object([]) do |sql, total_sql|
- previous_packet = total_sql.last
+ def combine_multi_statements(total_sql)
+ total_sql.each_with_object([]) do |sql, total_sql_chunks|
+ previous_packet = total_sql_chunks.last
sql << ";\n"
- if max_allowed_packet_reached?(sql, previous_packet) || total_sql.empty?
- total_sql << sql
+ if max_allowed_packet_reached?(sql, previous_packet) || total_sql_chunks.empty?
+ total_sql_chunks << sql
else
previous_packet << sql
end