Module: SqlSafetyNet::ConnectionAdapter::MysqlAdapter
- Defined in:
- lib/sql_safety_net/connection_adapter/mysql_adapter.rb
Overview
Logic for analyzing MySQL query plans.
Instance Method Summary collapse
Instance Method Details
#analyze_query(sql, name, *args) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/sql_safety_net/connection_adapter/mysql_adapter.rb', line 5 def analyze_query(sql, name, *args) if select_statement?(sql) query_plan = select_without_sql_safety_net("EXPLAIN #{sql}", "EXPLAIN", *args) query_plan_flags = analyze_query_plan(query_plan) unless query_plan_flags.empty? @logger.debug("Flagged query plan #{name} (#{query_plan_flags.join(', ')}): #{query_plan.inspect}") if @logger return {:query_plan => query_plan, :flags => query_plan_flags} end end end |