diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2019-03-20 20:38:53 +0100 |
---|---|---|
committer | Kasper Timm Hansen <kaspth@gmail.com> | 2019-03-31 19:44:14 +0200 |
commit | 3974bd6a5a7d63d6754c29ab3f07a858a49a21bb (patch) | |
tree | 442f77112c723545aff23535b41d537b45a54577 /activerecord/lib/active_record | |
parent | 6d488a22d361d19e3de98c603d98e64ccea8a2f3 (diff) | |
download | rails-3974bd6a5a7d63d6754c29ab3f07a858a49a21bb.tar.gz rails-3974bd6a5a7d63d6754c29ab3f07a858a49a21bb.tar.bz2 rails-3974bd6a5a7d63d6754c29ab3f07a858a49a21bb.zip |
Capture some join calls.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/insert_all.rb | 12 |
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 |