Type:
Class
Statement cache is used to cache a single statement in order to avoid creating the AST again. Initializing the cache is done by passing the statement in the initialization block:
cache = ActiveRecord::StatementCache.new do Book.where(name: "my book").limit(100) end
The cached statement is executed by using the execute
method:
cache.execute
The relation returned by the block is cached, and for each
execute
call the cached relation gets duped. Database is
queried when to_a
is called on the relation.