This method is deprecated or moved on the latest stable version.
The last existing version (v3.2.13) is shown here.
logging_query_plan()
public
The available_queries_for_explain thread variable collects the queries to
be explained. If the value is nil, it means queries are not being currently
collected. A false value indicates collecting is turned off. Otherwise it
is an array of queries.
# File activerecord/lib/active_record/explain.rb, line 25
def logging_query_plan # :nodoc:
return yield unless logger
threshold = auto_explain_threshold_in_seconds
current = Thread.current
if connection.supports_explain? && threshold && current[:available_queries_for_explain].nil?
begin
queries = current[:available_queries_for_explain] = []
start = Time.now
result = yield
logger.warn(exec_explain(queries)) if Time.now - start > threshold
result
ensure
current[:available_queries_for_explain] = nil
end
else
yield
end
end