Files

Class/Module Index [+]

Quicksearch

ActiveRecord::Explain

Public Class Methods

extended(base) click to toggle source
# File lib/active_record/explain.rb, line 5
def self.extended(base)
  base.class_eval do
    # If a query takes longer than these many seconds we log its query plan
    # automatically. nil disables this feature.
    class_attribute :auto_explain_threshold_in_seconds, :instance_writer => false
    self.auto_explain_threshold_in_seconds = nil
  end
end

Public Instance Methods

silence_auto_explain() click to toggle source

Silences automatic EXPLAIN logging for the duration of the block.

This has high priority, no EXPLAINs will be run even if downwards the threshold is set to 0.

As the name of the method suggests this only applies to automatic EXPLAINs, manual calls to +ActiveRecord::Relation#explain+ run.

# File lib/active_record/explain.rb, line 77
def silence_auto_explain
  current = Thread.current
  original, current[:available_queries_for_explain] = current[:available_queries_for_explain], false
  yield
ensure
  current[:available_queries_for_explain] = original
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.