pgtk 0.31.3 → 0.31.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pgtk/pool.rb +11 -4
  3. data/lib/pgtk/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ce069bed0f29101349d2617ad2ae7c51f4f03e6b6a4b800d717bf4ac75bb533f
4
- data.tar.gz: 81e34a18fdf26fea4545e33f5c554af8b17f74f75e0a8efe450dea16fa13df49
3
+ metadata.gz: b3a43722aa806c7c496234f00c186abac8cf07dfeb48e9baa97353fca08a1e0a
4
+ data.tar.gz: 63e903b575092c0bb62bf25b5aa96004723f4c4312bf3e16c4b5fc2af0b2b0c7
5
5
  SHA512:
6
- metadata.gz: fea29eaaef7f045eec87fd114d5ba55782d50332333169ab30012bbf9e221dd2c3ef1be57af808f4aa1986b5356e27a8b25ce144c52bcaad3ad8329772eb81a2
7
- data.tar.gz: c84f1647c650b98ff6e34e752184a922ec74c285c55dcfa26714c50280a09bb5cf6bf3ff6e40dee0c5f03a39aa0aa30396ad7ffd30b05859d981eb67c2697437
6
+ metadata.gz: d03c3c8458643fc95801a51b6d2fd4a61808ff934f2ac4341ea02b779d8ef688f44283f079b69a8d8bd02dc1d2733c07af4549dfcf8b41e3acceb5402083223e
7
+ data.tar.gz: 842c436ab8180751b612b55a5a0f113b3db10a101c1db9dd3adf1150ac2b5961c3baa5654a7d8c4cc44ccb788c77e495c0523a235ef0e2275f6c4b12729a8fa6
data/lib/pgtk/pool.rb CHANGED
@@ -219,9 +219,14 @@ class Pgtk::Pool
219
219
  r = yield(t)
220
220
  t.exec('COMMIT')
221
221
  r
222
- rescue StandardError => e
223
- t.exec('ROLLBACK')
224
- raise(e)
222
+ ensure
223
+ if c.transaction_status != PG::Constants::PQTRANS_IDLE
224
+ begin
225
+ t.exec('ROLLBACK')
226
+ rescue StandardError => e
227
+ @log.warn("Failed to rollback transaction: #{e.message}")
228
+ end
229
+ end
225
230
  end
226
231
  end
227
232
  end
@@ -359,7 +364,9 @@ class Pgtk::Pool
359
364
  end
360
365
 
361
366
  def dead?(conn)
362
- conn.finished? || conn.status == PG::Constants::CONNECTION_BAD
367
+ conn.finished? ||
368
+ conn.status == PG::Constants::CONNECTION_BAD ||
369
+ conn.transaction_status != PG::Constants::PQTRANS_IDLE
363
370
  rescue StandardError
364
371
  true
365
372
  end
data/lib/pgtk/version.rb CHANGED
@@ -10,5 +10,5 @@ require_relative '../pgtk'
10
10
  # Copyright:: Copyright (c) 2019-2026 Yegor Bugayenko
11
11
  # License:: MIT
12
12
  module Pgtk
13
- VERSION = '0.31.3' unless defined?(VERSION)
13
+ VERSION = '0.31.4' unless defined?(VERSION)
14
14
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pgtk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.3
4
+ version: 0.31.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko