query_reviewer 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,7 +39,7 @@ module QueryReviewer
|
|
39
39
|
|
40
40
|
def select_with_review(sql, *args)
|
41
41
|
sql.gsub!(/^SELECT /i, "SELECT SQL_NO_CACHE ") if QueryReviewer::CONFIGURATION["disable_sql_cache"]
|
42
|
-
|
42
|
+
QueryReviewer.safe_log { execute("SET PROFILING=1") } if QueryReviewer::CONFIGURATION["profiling"]
|
43
43
|
t1 = Time.now
|
44
44
|
query_results = select_without_review(sql, *args)
|
45
45
|
t2 = Time.now
|
@@ -50,19 +50,19 @@ module QueryReviewer
|
|
50
50
|
|
51
51
|
if use_profiling
|
52
52
|
t5 = Time.now
|
53
|
-
|
53
|
+
QueryReviewer.safe_log { execute("SET PROFILING=1") }
|
54
54
|
t3 = Time.now
|
55
55
|
select_without_review(sql, *args)
|
56
56
|
t4 = Time.now
|
57
|
-
profile =
|
58
|
-
|
57
|
+
profile = QueryReviewer.safe_log { select_without_review("SHOW PROFILE ALL", *args) }
|
58
|
+
QueryReviewer.safe_log { execute("SET PROFILING=0") }
|
59
59
|
t6 = Time.now
|
60
60
|
Thread.current["queries"].overhead_time += t6 - t5
|
61
61
|
else
|
62
62
|
profile = nil
|
63
63
|
end
|
64
64
|
|
65
|
-
cols =
|
65
|
+
cols = QueryReviewer.safe_log do
|
66
66
|
select_without_review("explain #{sql}", *args)
|
67
67
|
end
|
68
68
|
|
data/lib/query_reviewer/rails.rb
CHANGED
@@ -116,6 +116,7 @@ module QueryReviewer
|
|
116
116
|
|
117
117
|
def self.sanitize_strings_and_numbers_from_sql(sql)
|
118
118
|
new_sql = sql.clone
|
119
|
+
new_sql = new_sql.to_sql if new_sql.respond_to?(:to_sql)
|
119
120
|
new_sql.gsub!(/\b\d+\b/, "N")
|
120
121
|
new_sql.gsub!(/\b0x[0-9A-Fa-f]+\b/, "N")
|
121
122
|
new_sql.gsub!(/''/, "'S'")
|
@@ -20,6 +20,7 @@ module QueryReviewer
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def syntax_highlighted_sql(sql)
|
23
|
+
sql = sql.to_sql if sql.respond_to?(:to_sql)
|
23
24
|
if QueryReviewer::CONFIGURATION["uv"]
|
24
25
|
uv_out = Uv.parse(sql, "xhtml", "sql_rails", false, "blackboard")
|
25
26
|
uv_out.gsub("<pre class=\"blackboard\">", "<code class=\"sql\">").gsub("</pre>", "</code>")
|
data/lib/query_reviewer.rb
CHANGED
@@ -49,6 +49,15 @@ module QueryReviewer
|
|
49
49
|
def self.enabled?
|
50
50
|
CONFIGURATION["enabled"]
|
51
51
|
end
|
52
|
+
|
53
|
+
def self.safe_log(&block)
|
54
|
+
if Rails::VERSION::STRING.to_f >= 3.1
|
55
|
+
@logger.quietly { yield }
|
56
|
+
else
|
57
|
+
@logger.silence { yield }
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
52
61
|
end
|
53
62
|
|
54
63
|
# Rails Integration
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: query_reviewer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- dsboulder, nesquena
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2012-02-09 00:00:00 -08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|