Module: SeqScanner

Defined in:
lib/seq_scanner.rb,
lib/seq_scanner/checker.rb,
lib/seq_scanner/version.rb,
lib/seq_scanner/switcher.rb,
lib/seq_scanner/query_plan.rb,
lib/seq_scanner/plan_formatter.rb,
lib/seq_scanner/query_explainer.rb,
lib/seq_scanner/errors/seq_scan_detected_error.rb

Overview

require_relative “seq_scanner/errors/”

Defined Under Namespace

Modules: PlanFormatter, QueryExplainer, Switcher Classes: Checker, QueryPlan, SeqScanDetectedError

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.discourage_seqscanObject



18
19
20
21
22
23
# File 'lib/seq_scanner.rb', line 18

def discourage_seqscan
  SeqScanner::Switcher.on
  yield
ensure
  SeqScanner::Switcher.off
end

.scan(&block) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/seq_scanner.rb', line 10

def scan(&block)
  transact do
    discourage_seqscan do
      validate &block
    end
  end
end