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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d40fb941685400a6a158502895da0d8b93d94db03da0ca4551714aea36e3dae3
4
- data.tar.gz: 8b99de845f8d6f2e455e98c3505e689a0a55dac69f7c08ba6ebebabeeb1ddd63
3
+ metadata.gz: 3137009a5f3efa2ec2ba4aea403b0de5429331245f34ccc70bb98d8d12cbe518
4
+ data.tar.gz: 04e80dd31a64fd1654edad7e866697b6c87c489462ba497546489267cbef05d2
5
5
  SHA512:
6
- metadata.gz: b2b25419796e276074f5a49b2d109be72789ddf8a5c7c5cf29ba55900ac79c323e55b06bf5ab20dde4d34e4cf1e752e7362d23481d21d19a8b068a360562d13f
7
- data.tar.gz: 382792e95461d718489d36c71e1ba01940f4b1d76de1b80527f0a4a19fcc90c215366645640970271011d5ad2c264051be57e62684e3278248d52bfaae983cd2
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.0.tar.gz | tar xz
16
- cd hypopg-1.4.0
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 ""
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Dexter
2
- VERSION = "0.5.3"
2
+ VERSION = "0.5.5"
3
3
  end
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.3
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-06 00:00:00.000000000 Z
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: '4'
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: '4'
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.3
127
+ rubygems_version: 3.5.9
114
128
  signing_key:
115
129
  specification_version: 4
116
130
  summary: The automatic indexer for Postgres