instance method
select
Ruby on Rails 7.1.6
Since v2.2.3 PrivateSignature
select(sql, name = nil, binds = [], prepare: false, async: false)
Returns an ActiveRecord::Result instance.
Parameters
-
sqlreq -
nameopt = nil -
bindsopt = [] -
preparekey = false -
asynckey = false
Source
# File activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb, line 609
def select(sql, name = nil, binds = [], prepare: false, async: 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)
if async
FutureResult.wrap(result)
else
result
end
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb line 609
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::DatabaseStatements