class BulkInsert::StatementAdapters::PostgreSQLAdapter

Public Instance Methods

insert_ignore_statement() click to toggle source
# File lib/bulk_insert/statement_adapters/postgresql_adapter.rb, line 6
def insert_ignore_statement
  ''
end
on_conflict_statement(columns, ignore, update_duplicates) click to toggle source
# File lib/bulk_insert/statement_adapters/postgresql_adapter.rb, line 10
def on_conflict_statement(columns, ignore, update_duplicates)
  if ignore
    ' ON CONFLICT DO NOTHING'
  elsif update_duplicates
    update_values = columns.map do |column|
      "#{column.name}=EXCLUDED.#{column.name}"
    end.join(', ')
    ' ON CONFLICT(' + update_duplicates.join(', ') + ') DO UPDATE SET ' + update_values
  else
    ''
  end
end
primary_key_return_statement(primary_key) click to toggle source
# File lib/bulk_insert/statement_adapters/postgresql_adapter.rb, line 23
def primary_key_return_statement(primary_key)
  " RETURNING #{primary_key}"
end