instance method
select
Ruby on Rails 7.2.3
Since v2.2.3 PrivateSignature
select(sql, name = nil, binds = [], prepare: false, async: false, allow_retry: false)
Returns an ActiveRecord::Result instance.
Parameters
-
sqlreq -
nameopt = nil -
bindsopt = [] -
preparekey = false -
asynckey = false -
allow_retrykey = false
Source
# File activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb, line 626
def select(sql, name = nil, binds = [], prepare: false, async: false, allow_retry: false)
if async && async_enabled?
if current_transaction.joinable?
raise AsynchronousQueryInsideTransactionError, "Asynchronous queries are not allowed inside transactions"
end
future_result = async.new(
pool,
sql,
name,
binds,
prepare: prepare,
)
if supports_concurrent_connections? && current_transaction.closed?
future_result.schedule!(ActiveRecord::Base.asynchronous_queries_session)
else
future_result.execute!(self)
end
return future_result
end
result = internal_exec_query(sql, name, binds, prepare: prepare, allow_retry: allow_retry)
if async
FutureResult.wrap(result)
else
result
end
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb line 626
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::DatabaseStatements