4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/sql_query_analyzer/explain_analyzer.rb', line 4
def explain_with_suggestions(run: false)
unless self.is_a?(ActiveRecord::Relation)
puts "⚠️ Not an ActiveRecord Relation. Skipping explain_with_suggestions."
return
end
raw_sql = self.to_sql
explain_output = SqlQueryAnalyzer::Execute.explain_sql(raw_sql, run)
engine = SqlQueryAnalyzer::SuggestionEngine.new(explain_output, raw_sql)
suggestions = engine.analyze
nil
rescue => e
puts "Error analyzing query: #{e.message}"
end
|