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