Methods
E
S
Class Public methods
extended(base)
# File activerecord/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
Instance Public methods
silence_auto_explain()

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 activerecord/lib/active_record/explain.rb, line 78
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