Class: ActiveRecord::ConnectionAdapters::MySQL::ExplainPrettyPrinter
- Defined in:
 - activerecord/lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb
 
Overview
:nodoc:
Instance Method Summary collapse
- 
  
    
      #pp(result, elapsed)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Pretty prints the result of an EXPLAIN in a way that resembles the output of the MySQL shell:.
 
Instance Method Details
#pp(result, elapsed) ⇒ Object
Pretty prints the result of an EXPLAIN in a way that resembles the output of the MySQL shell:
+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+
| id | select_type | table | type  | possible_keys | key     | key_len | ref   | rows | Extra       |
+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+
|  1 | SIMPLE      | users | const | PRIMARY       | PRIMARY | 4       | const |    1 |             |
|  1 | SIMPLE      | posts | ALL   | NULL          | NULL    | NULL    | NULL  |    1 | Using where |
+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+
2 rows in set (0.00 sec)
This is an exercise in Ruby hyperrealism :).
      19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37  | 
    
      # File 'activerecord/lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb', line 19 def pp(result, elapsed) widths = compute_column_widths(result) separator = build_separator(widths) pp = [] pp << separator pp << build_cells(result.columns, widths) pp << separator result.rows.each do |row| pp << build_cells(row, widths) end pp << separator pp << (result.rows.length, elapsed) pp.join("\n") + "\n" end  |