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