query_reviewer 0.1.2 → 0.1.3
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.
- data/README.md +20 -6
- data/lib/query_reviewer.rb +6 -1
- metadata +6 -6
data/README.md
CHANGED
@@ -9,9 +9,11 @@ QueryReviewer is an advanced SQL query analyzer. It accomplishes the following
|
|
9
9
|
* Attach meaningful warnings to individual queries, and collections of queries
|
10
10
|
* Display interactive summary on page
|
11
11
|
|
12
|
-
## This Fork ##
|
12
|
+
## Use This Fork ##
|
13
13
|
|
14
|
-
I use this utility for most of my
|
14
|
+
I use this utility for most of my MySQL-backed Rails projects. Still the best out there in my opinion for analyzing and understanding your generated SQL queries.
|
15
|
+
I forked the original [query_reviewer](https://github.com/dsboulder/query_reviewer) and applied a collection of patches that have been made since the plugin was created.
|
16
|
+
A list of the biggest additions below:
|
15
17
|
|
16
18
|
* Snazzed up the README into markdown for better readability
|
17
19
|
* Full compatibility for Rails 3 (including Railtie)
|
@@ -22,9 +24,21 @@ I use this utility for most of my rails projects. Still the best out there in my
|
|
22
24
|
* Fixes for deprecation warnings and for 1.9 compatiblity
|
23
25
|
* Converts templates to more modern foo.html.erb naming
|
24
26
|
|
25
|
-
|
27
|
+
As of August 2011, This has become the "official" version to use. David has deprecated the [original repo](https://github.com/dsboulder/query_reviewer) and recommends that people looking for this utility use this fork instead.
|
28
|
+
This fork compiles a variety of patches that were made since that time along with additional work to support compatibility with 1.9 and Rails 3.
|
29
|
+
**Also:** If anyone else creates generally useful enhancements to this utility please start by forking this and then issue me a pull request.
|
26
30
|
|
27
|
-
**Note:** This plugin should work for Rails 2.X and Rails 3.
|
31
|
+
**Note:** This plugin should work for Rails 2.X and Rails 3. If you run into issues, please file a bug report or send a pull request. I consider this new fork to be a group effort
|
32
|
+
so if you want to be added as a contributor to help maintain this, please let me know!
|
33
|
+
|
34
|
+
## Database Limitations ##
|
35
|
+
|
36
|
+
As of right now, this plugin supports analyzing queries **only for MySQL**. I consider this the primary **limitation** of this gem.
|
37
|
+
I am now using PostgreSQL for a number of my projects and the "EXPLAIN" output is totally different. Several people have started a PostgreSQL adapter for
|
38
|
+
this plugin, but none that are mature enough to include here.
|
39
|
+
|
40
|
+
If anyone is interested at taking a stab at implementing PostgreSQL support for this utility, that would be hugely appreciated! I hope this plugin can come to support
|
41
|
+
all the major Rails adapters over time.
|
28
42
|
|
29
43
|
## Installation ##
|
30
44
|
|
@@ -66,8 +80,8 @@ The configuration file allows you to set configuration parameters shared across
|
|
66
80
|
* `profiling`: when enabled, runs the MySQL SET PROFILING=1 for queries longer than the `warn_duration_threshold` / 2.0
|
67
81
|
* `production_data`: whether the duration of a query should be taken into account
|
68
82
|
* `stack_trace_lines`: number of lines of call stack to include in the "short" version of the stack trace
|
69
|
-
* `trace_includes_vendor`: whether the "short"
|
70
|
-
* `trace_includes_lib`: whether the "short"
|
83
|
+
* `trace_includes_vendor`: whether the "short" version of the stack trace should include files in /vendor
|
84
|
+
* `trace_includes_lib`: whether the "short" version of the stack trace should include files in /lib
|
71
85
|
* `warn_severity`: the severity of problem that merits "WARNING" status
|
72
86
|
* `critical_severity`: the severity of problem that merits "CRITICAL" status
|
73
87
|
* `warn_query_count`: the number of queries in a single request that merits "WARNING" status
|
data/lib/query_reviewer.rb
CHANGED
@@ -22,7 +22,12 @@ module QueryReviewer
|
|
22
22
|
|
23
23
|
if enabled?
|
24
24
|
begin
|
25
|
-
CONFIGURATION["uv"] ||=
|
25
|
+
CONFIGURATION["uv"] ||= if Gem::Specification.respond_to?(:find_all_by_name)
|
26
|
+
!Gem::Specification.find_all_by_name('uv').empty?
|
27
|
+
else # RubyGems < 1.8.0
|
28
|
+
!Gem.searcher.find("uv").nil?
|
29
|
+
end
|
30
|
+
|
26
31
|
if CONFIGURATION["uv"]
|
27
32
|
require "uv"
|
28
33
|
end
|
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:
|
5
|
-
prerelease:
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
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: 2011-
|
18
|
+
date: 2011-09-01 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
89
|
requirements: []
|
90
90
|
|
91
91
|
rubyforge_project:
|
92
|
-
rubygems_version: 1.
|
92
|
+
rubygems_version: 1.6.2
|
93
93
|
signing_key:
|
94
94
|
specification_version: 3
|
95
95
|
summary: Runs explain before each select query and displays results in an overlayed div
|