method
cache_sql
v5.2.3 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::QueryCache
cache_sql(sql, name, binds)private
No documentation available.
# File activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb, line 112
def cache_sql(sql, name, binds)
@lock.synchronize do
result =
if @query_cache[sql].key?(binds)
ActiveSupport::Notifications.instrument(
"sql.active_record",
sql: sql,
binds: binds,
type_casted_binds: -> { type_casted_binds(binds) },
name: name,
connection_id: object_id,
cached: true,
)
@query_cache[sql][binds]
else
@query_cache[sql][binds] = yield
end
result.dup
end
end