aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/insert_all.rb
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2019-03-20 20:38:53 +0100
committerKasper Timm Hansen <kaspth@gmail.com>2019-03-31 19:44:14 +0200
commit3974bd6a5a7d63d6754c29ab3f07a858a49a21bb (patch)
tree442f77112c723545aff23535b41d537b45a54577 /activerecord/lib/active_record/insert_all.rb
parent6d488a22d361d19e3de98c603d98e64ccea8a2f3 (diff)
downloadrails-3974bd6a5a7d63d6754c29ab3f07a858a49a21bb.tar.gz
rails-3974bd6a5a7d63d6754c29ab3f07a858a49a21bb.tar.bz2
rails-3974bd6a5a7d63d6754c29ab3f07a858a49a21bb.zip
Capture some join calls.
Diffstat (limited to 'activerecord/lib/active_record/insert_all.rb')
-rw-r--r--activerecord/lib/active_record/insert_all.rb12
1 files 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