pgdexter 0.5.3 → 0.5.5
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +2 -2
- data/lib/dexter/client.rb +1 -0
- data/lib/dexter/indexer.rb +3 -1
- data/lib/dexter/version.rb +1 -1
- metadata +19 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3137009a5f3efa2ec2ba4aea403b0de5429331245f34ccc70bb98d8d12cbe518
|
4
|
+
data.tar.gz: 04e80dd31a64fd1654edad7e866697b6c87c489462ba497546489267cbef05d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbde2900ff5de0d67b0472af0c87232e5492f150efca54641d0334a8c87ab6fd14458d885c4e313e236fb23f2b6ad0278b40ba4e43ac7be248ca54c12fb0aa6a
|
7
|
+
data.tar.gz: 0062ae2f3584e289bcb90b0c31e02aa964ac32d38d20cbfcef1e8ac18be0c6fcf74580d0d53e27ac760a9e537b8d6b124945cebddee16beee3bcdd1bf6d98caa
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## 0.5.5 (2024-06-02)
|
2
|
+
|
3
|
+
- Updated pg_query to 5.1+ to fix installation on Windows
|
4
|
+
- Fixed error with `--pg-stat-statements` and `--min-calls`
|
5
|
+
|
6
|
+
## 0.5.4 (2024-04-03)
|
7
|
+
|
8
|
+
- Fixed issue with processing over 500 query fingerprints (introduced in 0.5.3)
|
9
|
+
- Require google-protobuf < 4
|
10
|
+
|
1
11
|
## 0.5.3 (2024-03-05)
|
2
12
|
|
3
13
|
- Fixed error with hypothetical index limit
|
data/README.md
CHANGED
@@ -12,8 +12,8 @@ First, install [HypoPG](https://github.com/HypoPG/hypopg) on your database serve
|
|
12
12
|
|
13
13
|
```sh
|
14
14
|
cd /tmp
|
15
|
-
curl -L https://github.com/HypoPG/hypopg/archive/1.4.
|
16
|
-
cd hypopg-1.4.
|
15
|
+
curl -L https://github.com/HypoPG/hypopg/archive/1.4.1.tar.gz | tar xz
|
16
|
+
cd hypopg-1.4.1
|
17
17
|
make
|
18
18
|
make install # may need sudo
|
19
19
|
```
|
data/lib/dexter/client.rb
CHANGED
@@ -64,6 +64,7 @@ module Dexter
|
|
64
64
|
|
65
65
|
o.separator "Processing options:"
|
66
66
|
o.integer "--interval", "time to wait between processing queries, in seconds", default: 60
|
67
|
+
# TODO change to integer in 0.6.0
|
67
68
|
o.float "--min-calls", "only process queries that have been called a certain number of times", default: 0
|
68
69
|
o.float "--min-time", "only process queries that have consumed a certain amount of DB time, in minutes", default: 0
|
69
70
|
o.separator ""
|
data/lib/dexter/indexer.rb
CHANGED
@@ -189,6 +189,8 @@ module Dexter
|
|
189
189
|
def create_hypothetical_indexes(queries)
|
190
190
|
candidates = {}
|
191
191
|
|
192
|
+
reset_hypothetical_indexes
|
193
|
+
|
192
194
|
# get initial costs for queries
|
193
195
|
calculate_plan(queries)
|
194
196
|
explainable_queries = queries.select { |q| q.plans.any? && q.high_cost? }
|
@@ -680,7 +682,7 @@ module Dexter
|
|
680
682
|
ORDER BY
|
681
683
|
1
|
682
684
|
SQL
|
683
|
-
execute(sql, params: [@min_time * 60000, @min_calls]).map { |q| q["query"] }
|
685
|
+
execute(sql, params: [@min_time * 60000, @min_calls.to_i]).map { |q| q["query"] }
|
684
686
|
end
|
685
687
|
|
686
688
|
def with_advisory_lock
|
data/lib/dexter/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pgdexter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-03
|
11
|
+
date: 2024-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: csv
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: google-protobuf
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "<"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '4'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: pg
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +58,14 @@ dependencies:
|
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
61
|
+
version: '5.1'
|
48
62
|
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
68
|
+
version: '5.1'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: slop
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
124
|
- !ruby/object:Gem::Version
|
111
125
|
version: '0'
|
112
126
|
requirements: []
|
113
|
-
rubygems_version: 3.5.
|
127
|
+
rubygems_version: 3.5.9
|
114
128
|
signing_key:
|
115
129
|
specification_version: 4
|
116
130
|
summary: The automatic indexer for Postgres
|