summaryrefslogtreecommitdiff
path: root/spec/support/helpers/query_recorder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/helpers/query_recorder.rb')
-rw-r--r--spec/support/helpers/query_recorder.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/spec/support/helpers/query_recorder.rb b/spec/support/helpers/query_recorder.rb
index 05afbc336da..d18a1d23584 100644
--- a/spec/support/helpers/query_recorder.rb
+++ b/spec/support/helpers/query_recorder.rb
@@ -2,15 +2,16 @@
module ActiveRecord
class QueryRecorder
- attr_reader :log, :skip_cached, :cached, :data
+ attr_reader :log, :skip_cached, :skip_schema_queries, :cached, :data
UNKNOWN = %w[unknown unknown].freeze
- def initialize(skip_cached: true, log_file: nil, query_recorder_debug: false, &block)
+ def initialize(skip_cached: true, skip_schema_queries: true, log_file: nil, query_recorder_debug: false, &block)
@data = Hash.new { |h, k| h[k] = { count: 0, occurrences: [], backtrace: [], durations: [] } }
@log = []
@cached = []
@skip_cached = skip_cached
+ @skip_schema_queries = skip_schema_queries
@query_recorder_debug = ENV['QUERY_RECORDER_DEBUG'] || query_recorder_debug
@log_file = log_file
record(&block) if block_given?
@@ -79,7 +80,7 @@ module ActiveRecord
if values[:cached] && skip_cached
@cached << values[:sql]
- elsif !values[:name]&.include?("SCHEMA")
+ elsif !skip_schema_queries || !values[:name]&.include?("SCHEMA")
backtrace = @query_recorder_debug ? show_backtrace(values, duration) : nil
@log << values[:sql]
store_sql_by_source(values: values, duration: duration, backtrace: backtrace)