Makes the adapter execute EXPLAIN for the tuples of queries and bindings.
Returns a formatted string ready to be logged.
# File activerecord/lib/active_record/explain.rb, line 19
def exec_explain(queries, options = []) # :nodoc:
str = with_connection do |c|
queries.map do |sql, binds|
msg = +"#{build_explain_clause(c, options)} #{sql}"
unless binds.empty?
msg << " "
msg << binds.map { |attr| render_bind(c, attr) }.inspect
end
msg << "\n"
msg << c.explain(sql, binds, options)
end.join("\n")
end
# Overriding inspect to be more human readable, especially in the console.
def str.inspect
self
end
str
end