From 3974bd6a5a7d63d6754c29ab3f07a858a49a21bb Mon Sep 17 00:00:00 2001
From: Kasper Timm Hansen <kaspth@gmail.com>
Date: Wed, 20 Mar 2019 20:38:53 +0100
Subject: Capture some join calls.

---
 activerecord/lib/active_record/insert_all.rb | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/activerecord/lib/active_record/insert_all.rb b/activerecord/lib/active_record/insert_all.rb
index d30aee7c00..ae775e2255 100644
--- a/activerecord/lib/active_record/insert_all.rb
+++ b/activerecord/lib/active_record/insert_all.rb
@@ -137,16 +137,16 @@ module ActiveRecord
         end
 
         def returning
-          quote_columns(insert_all.returning).join(",") if insert_all.returning
+          format_columns(insert_all.returning) if insert_all.returning
         end
 
         def conflict_target
           if index = insert_all.unique_by
-            sql = +"(#{quote_columns(index.columns).join(',')})"
+            sql = +"(#{format_columns(index.columns)})"
             sql << " WHERE #{index.where}" if index.where
             sql
           elsif update_duplicates?
-            "(#{quote_columns(insert_all.primary_keys).join(',')})"
+            "(#{format_columns(insert_all.primary_keys)})"
           end
         end
 
@@ -158,7 +158,7 @@ module ActiveRecord
           attr_reader :connection, :insert_all
 
           def columns_list
-            quote_columns(insert_all.keys).join(",")
+            format_columns(insert_all.keys)
           end
 
           def extract_types_from_columns_on(table_name, keys:)
@@ -170,6 +170,10 @@ module ActiveRecord
             keys.map { |key| [ key, connection.lookup_cast_type_from_column(columns[key]) ] }.to_h
           end
 
+          def format_columns(columns)
+            quote_columns(columns).join(",")
+          end
+
           def quote_columns(columns)
             columns.map(&connection.method(:quote_column_name))
           end
-- 
cgit v1.2.3