mysql2_query_filter-plugin-casual_log 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 360aaad00af7a02c546d883c269d3e3545178cab
4
- data.tar.gz: 559226e0b54acd79e02bf04cc3c9b7353ae96cc0
3
+ metadata.gz: 3cfe55984109099b401f0b3cc98786f4ab6eaaa6
4
+ data.tar.gz: 9b69c8cf7911fd2897ae53b401f2938456fa5708
5
5
  SHA512:
6
- metadata.gz: e9441a2caaa0744184a362208eb0f047e1d37081c6a096adec6ff3cefa7bbd0edaeeb7f919ff90eb206df111e56fba7a225d32a73c0bc567325f336caa203913
7
- data.tar.gz: 381b2c0a9c44d392feb8167461e1029ba56e59d461f42713d23914c8f7ee7155940e04a23debdddae840539e02156405f1e2ebccb86df2fb4056b2dc481e8395
6
+ metadata.gz: e01cd2f06f4821463611675e43af7356950fe9c0c739c853a616f9eb70d40ff3f629da81f1182786154f35127ce30aa2c609b60df680a19348ca83ab68930aa8
7
+ data.tar.gz: 6b564245e72b78e0c8650ed88d09d9b6aaa0ad654223afb7532a0696c5d373ae3522bd64c225b6f2811381fdc7c443084a7341e4cbb9e38f4c6c2cf6e5410bb8
data/README.md CHANGED
@@ -26,7 +26,7 @@ Or install it yourself as:
26
26
  require 'mysql2_query_filter'
27
27
 
28
28
  Mysql2QueryFilter.configure do |filter|
29
- filter.plugin :casual_log , database: 'mysql'
29
+ filter.plugin :casual_log, database: 'mysql'
30
30
  end
31
31
 
32
32
  Mysql2QueryFilter.enable
@@ -38,9 +38,16 @@ module Mysql2QueryFilter::Plugin
38
38
 
39
39
  def filter(sql, query_options)
40
40
  if sql =~ /\A\s*SELECT\b/i and @matcher.call(sql, query_options)
41
- result = @client.query("EXPLAIN #{sql}").first
42
- badquery = colorize_explain(result)
43
- output_message(sql, result) if badquery
41
+ explains = []
42
+
43
+ @client.query("EXPLAIN #{sql}").each do |result|
44
+ badquery = colorize_explain(result)
45
+ explains << format_explain(sql, result) if badquery
46
+ end
47
+
48
+ unless explains.empty?
49
+ @out << "# #{sql}\n" + explains.join("\n") + "\n"
50
+ end
44
51
  end
45
52
  end
46
53
 
@@ -65,15 +72,15 @@ module Mysql2QueryFilter::Plugin
65
72
  Term::ANSIColor.red(Term::ANSIColor.bold(str))
66
73
  end
67
74
 
68
- def output_message(sql, explain)
69
- message = "# #{sql}\n---\n"
75
+ def format_explain(sql, explain)
76
+ message = "---\n"
70
77
  max_key_length = explain.keys.map(&:length).max
71
78
 
72
79
  explain.each do |key, value|
73
80
  message << "%*s: %s\n" % [max_key_length, key, value]
74
81
  end
75
82
 
76
- @out << message
83
+ message
77
84
  end
78
85
  end
79
86
  end
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = 'mysql2_query_filter-plugin-casual_log'
4
- spec.version = '0.0.3'
4
+ spec.version = '0.0.4'
5
5
  spec.authors = ['Genki Sugawara']
6
6
  spec.email = ['sgwr_dts@yahoo.co.jp']
7
7
  spec.summary = %q{Plug-in that colorize the bad query for Mysql2QueryFilter.}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mysql2_query_filter-plugin-casual_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara