Method: ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#exec_insert
- Defined in:
- activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb
#exec_insert(sql, name = nil, binds = [], pk = nil, sequence_name = nil, returning: nil) ⇒ Object
:nodoc:
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb', line 45 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 |