rsconn 0.0.6 → 0.0.7

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: 9c122c5ff5d569f08e1bd61188d06d8e608ed5f2
4
- data.tar.gz: 3fa328a192ada48fb8e162f3cd93ba5daffe0277
3
+ metadata.gz: c8efc5478617476c1839a7262f46c8db28e7252b
4
+ data.tar.gz: c74faacb72b72f2b2a3f719cea2524f76418643e
5
5
  SHA512:
6
- metadata.gz: df40db26120d331089ba78e125f45f80258bc2a1b770a7e8e8fa98a080b6de19fa53cf6074b3b0863ca9008a8d7bd810050c8d4e18d7417fac1db66dddaa2e06
7
- data.tar.gz: 6ec245da4800cc4ad841ecf490ce97fbfb644ce9272d0c73b705ca84d6d5d35cbcb481fc3581a5cc2fea6a47627d163cde7c326159532562b77f9fc52956f790
6
+ metadata.gz: ba10402a26b2a326109e4c7c9a37f8505eb53223d1f944c67457f7b2e7aa81e539e9dff14a2ae743721177a6be1e54c45b39e2670831a497dd2323596752f002
7
+ data.tar.gz: 47acaefb06bd0802384fde2b6c98c78478d98cbda90bad1aafe49b76ab0b973cc9671272d271d05c8de4eb5d272df240970c279b2ee2da903005f8531331921a
@@ -26,6 +26,7 @@ module Rsconn
26
26
  @abort_on_error = options.fetch(:abort_on_error, true)
27
27
  @max_retries = options.fetch(:max_retries, 3)
28
28
  @quiet = options.fetch(:quiet, false)
29
+ @print_backtrace_for_all_errors = options.fetch(:print_backtrace_for_all_errors, false)
29
30
  @error_occurred = false
30
31
  @retry_count = 0
31
32
 
@@ -139,8 +140,10 @@ module Rsconn
139
140
  @retry_count = 0
140
141
  @error_occurred = true
141
142
  log "An error occurred (#{e.class}): #{e.message}"
142
- log e.backtrace.join("\n")
143
143
 
144
+ if @print_backtrace_for_all_errors || !error_backtrace_is_not_helpful?(e.class)
145
+ log e.backtrace.join("\n")
146
+ end
144
147
  raise e if @abort_on_error
145
148
  end
146
149
  end
@@ -157,6 +160,15 @@ module Rsconn
157
160
  fail NotImplementedError, 'sql_exception_class'
158
161
  end
159
162
 
163
+ def error_backtrace_is_not_helpful?(klass)
164
+ [
165
+ PG::DuplicateTable,
166
+ PG::FeatureNotSupported,
167
+ PG::InFailedSqlTransaction,
168
+ PG::InsufficientPrivilege,
169
+ ].include?(klass)
170
+ end
171
+
160
172
  def remove_comments(sql)
161
173
  lines = sql.split("\n")
162
174
  stripped_lines = lines.reject {|line| starts_with_double_dash?(line) }
@@ -1,3 +1,3 @@
1
1
  module Rsconn
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsconn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dean Morin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-17 00:00:00.000000000 Z
11
+ date: 2014-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg