activerecord_postgresql_retry 0.0.2 → 0.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d50bbbd0c1517f923bb91585645912c3208c2f4
4
- data.tar.gz: f16c0ff3169aba4d039bef9b32c1c98335459adf
3
+ metadata.gz: 586799be600dd53fba602bc34b16a1046ae631c6
4
+ data.tar.gz: 25a494e60300a43b15266f517e2b79fa77b1b167
5
5
  SHA512:
6
- metadata.gz: 4eb8de3a754203bf69860d44d7ebe935832214a52291edc941031673253fd3de60c9acf3959191649e868c98ebbfbcb5009649b220b1bf716bc7ac9b4845fd67
7
- data.tar.gz: 3959e8cfb2f35d0ba189418eeeb82d12c1bdda1c0accb9929788966889150e7300869a41bfe6a93dc86162426557befe0b02dfef739acd70b30ff0e12599a679
6
+ metadata.gz: 4281f5fb594662449c483a10f4b55d4de846223656b41f96ee935a6f6eee73c906bf4e580eb204e376de7f2dfa63b84b432fa17995cb47c2ea08515358dabcc1
7
+ data.tar.gz: 23263e965ffd259485415dcbd53e064539db5d17b9a1811dacac17d0fe37d3f4f43ea86d34777be1ecc464e0a774c8e62308b641a9ffdc6b62d0ffcde08d24b1
@@ -42,18 +42,19 @@ module ActiveRecord
42
42
 
43
43
  begin
44
44
  yield
45
- rescue PG::ConnectionBad, PG::UnableToSend, ActiveRecord::StatementInvalid => ex
45
+ rescue PG::Error, PG::ConnectionBad, PG::UnableToSend, ActiveRecord::StatementInvalid => ex
46
+ raise unless ex.message =~ /invalid encoding name/ if ex.is_a? PG::Error
46
47
  raise if open_transactions != 0
47
48
  raise if retry_count >= PG_QUERY_RETRY
48
- raise if ex.is_a?(ActiveRecord::StatementInvalid) unless (
49
- ex.original_exception.is_a?(PG::ConnectionBad) ||
50
- ex.original_exception.is_a?(PG::UnableToSend)
51
- )
49
+ raise unless (
50
+ ex.original_exception.is_a?(PG::ConnectionBad) ||
51
+ ex.original_exception.is_a?(PG::UnableToSend)
52
+ ) if ex.is_a?(ActiveRecord::StatementInvalid) && ex.respond_to?(:original_exception)
52
53
 
53
54
  sleep PG_SLEEP_RETRY
54
55
  retry_count += 1
55
56
  $log.warn "PostgreSQL retry ##{retry_count} '#{defined?(sql) ? sql : ''}' because #{ex}"
56
- reconnect!
57
+ old_reconnect! rescue nil
57
58
  retry
58
59
  end
59
60
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_postgresql_retry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandru Szasz
@@ -54,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
54
54
  version: '0'
55
55
  requirements: []
56
56
  rubyforge_project:
57
- rubygems_version: 2.4.8
57
+ rubygems_version: 2.5.1
58
58
  signing_key:
59
59
  specification_version: 4
60
60
  summary: This gem provides a patch that once included will retry the PostgreSQL operation