Class: Dblint::Checks::MissingIndex
- Defined in:
- lib/dblint/checks/missing_index.rb
Defined Under Namespace
Classes: Error
Instance Method Summary collapse
Methods inherited from Base
#check_name, #config, #find_main_app_caller, #ignored?
Instance Method Details
#statement_finished(_name, _id, _payload) ⇒ Object
16 17 18 |
# File 'lib/dblint/checks/missing_index.rb', line 16 def statement_finished(_name, _id, _payload) # Ignored end |
#statement_started(_name, _id, payload) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/dblint/checks/missing_index.rb', line 6 def statement_started(_name, _id, payload) return if payload[:sql].include?(';') return unless payload[:sql].starts_with?('SELECT') ActiveRecord::Base.connection.execute 'SET enable_seqscan = off', 'DBLINT' plan = explain(payload) raise_on_seqscan(plan[0]['Plan'], payload) ActiveRecord::Base.connection.execute 'SET enable_seqscan = on', 'DBLINT' end |