Method: ActiveRecord::Explain#exec_explain
- Defined in:
- activerecord/lib/active_record/explain.rb
#exec_explain(queries, options = []) ⇒ Object
Makes the adapter execute EXPLAIN for the tuples of queries and bindings. Returns a formatted string ready to be logged.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'activerecord/lib/active_record/explain.rb', line 19 def exec_explain(queries, = []) # :nodoc: str = with_connection do |c| queries.map do |sql, binds| msg = +"#{build_explain_clause(c, )} #{sql}" unless binds.empty? msg << " " msg << binds.map { |attr| render_bind(c, attr) }.inspect end msg << "\n" msg << c.explain(sql, binds, ) end.join("\n") end # Overriding inspect to be more human readable, especially in the console. def str.inspect self end str end |