instance method
exec_insert
Ruby on Rails edge
Since v3.1.12Signature
exec_insert(sql, name = nil, binds = [], pk = nil, sequence_name = nil, returning: nil)
Executes insert sql statement in the context of this connection using binds as the bind substitutes. name is logged along with the executed sql statement. Some adapters support the returning keyword argument which allows to control the result of the query: nil is the default value and maintains default behavior. If an array of column names is passed - the result will contain values of the specified columns from the inserted row.
Parameters
-
sqlreq -
nameopt = nil -
bindsopt = [] -
pkopt = nil -
sequence_nameopt = nil -
returningkey = nil
Source
# File activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb, line 193
def exec_insert(sql, name = nil, binds = [], pk = nil, sequence_name = nil, returning: nil)
# The `pk` positional argument is really the RETURNING column name.
# Translate it to `returning:` — including the legacy `false` sentinel
# meaning "no primary key / skip RETURNING".
if pk == false
returning ||= []
elsif pk
returning ||= pk
end
intent = QueryIntent.new(adapter: self, raw_sql: sql, name: name, binds: binds)
_exec_insert(intent, sequence_name, returning: returning)
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb line 193
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::DatabaseStatements