method
exec_insert
v7.1.3.2 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements
exec_insert(sql, name = nil, binds = [], pk = nil, sequence_name = nil, returning: nil)public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb, line 81
def exec_insert(sql, name = nil, binds = [], pk = nil, sequence_name = nil, returning: nil) # :nodoc:
if use_insert_returning? || pk == false
super
else
result = internal_exec_query(sql, name, binds)
unless sequence_name
table_ref = extract_table_ref_from_insert_sql(sql)
if table_ref
pk = primary_key(table_ref) if pk.nil?
pk = suppress_composite_primary_key(pk)
sequence_name = default_sequence_name(table_ref, pk)
end
return result unless sequence_name
end
last_insert_id_result(sequence_name)
end
end