pg_conn 0.17.1 → 0.17.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
  SHA256:
3
- metadata.gz: 64ed87e1cf308dd73256ca1a3785acee059ffbd8fc30d11303f0b494799b9dcb
4
- data.tar.gz: 21076b277ee98f430d9fa19a882ab4a9242815b749a956ec76a210464517162c
3
+ metadata.gz: ef63ee68c793ec597f74abe4f85815b489199f5f71db4e92f583e3a7789b58ef
4
+ data.tar.gz: 073d54f4b5000882ce86b6b09ae92b4fa8d2230015198ad07f54d0b6ed465c03
5
5
  SHA512:
6
- metadata.gz: f657154a19e12be06b0e98668964f3b157745f3bbd90bad5e242416598e4be887c89dc7ae81ec56a109bf51aa66997e563825c43fb6a73d09e09711360a2395b
7
- data.tar.gz: 3b5892c3e8f80dcae50cffef9ea128dab6d1bb349d72115c9cb2b5ceff3f0371c1622851192b78ecea8dc572812af6aa9e1b9133ef119b31f81f0772f7b6239a
6
+ metadata.gz: 52d717e25fbbe755c2bceaa77c1da02bfbe82dabc30f0ce22673f1791b9fbfe50cc0f6539221c766db526d42f224baeb1da22f29cba861ada5ea8334413b2899
7
+ data.tar.gz: 54fe0f036e61099b2fd5807da67e1528930ce79386a91f570eb11ba9d6eac5d5c63a89e4c2702b5304a9680cecf904577860ef9fa251a4485d344fea31b61cdd
@@ -84,16 +84,16 @@ module PgConn
84
84
 
85
85
  # Return true if session triggers are enabled. Triggers are enabled by
86
86
  # default by Postgres
87
- def triggers?() conn.value "select current_setting('session_replication_role') = 'replica'" end
87
+ def triggers?() conn.value "select current_setting('session_replication_role') <> 'replica'" end
88
88
 
89
89
  # Enable session triggers
90
90
  def enable_triggers()
91
- conn.execute "set session session_replication_role = replica"
91
+ conn.execute "set session session_replication_role = DEFAULT"
92
92
  end
93
93
 
94
94
  # Disable session triggers
95
95
  def disable_triggers()
96
- conn.execute "set session session_replication_role = DEFAULT"
96
+ conn.execute "set session session_replication_role = replica"
97
97
  end
98
98
 
99
99
  # Execute block with session triggers on or off
@@ -107,10 +107,9 @@ module PgConn
107
107
  end
108
108
  yield
109
109
  ensure
110
- if on_off && !active
111
- disable_triggers
112
- elsif !on_off && active
113
- enable_triggers
110
+ case active
111
+ when true; enable_triggers if !triggers?
112
+ when false; disable_triggers if triggers?
114
113
  end
115
114
  end
116
115
  end
@@ -1,3 +1,3 @@
1
1
  module PgConn
2
- VERSION = "0.17.1"
2
+ VERSION = "0.17.3"
3
3
  end
data/lib/pg_conn.rb CHANGED
@@ -247,7 +247,7 @@ module PgConn
247
247
  # before quoting. This works by default for the regular types Integer,
248
248
  # true/false, Time/Date/DateTime, and arrays. Other types may require
249
249
  # special handling
250
- def quote_literal(value)
250
+ def quote_value(value)
251
251
  case value
252
252
  when String; @pg_connection.escape_literal(value)
253
253
  when Integer, Float; value.to_s
@@ -261,11 +261,22 @@ module PgConn
261
261
  end
262
262
  end
263
263
 
264
- # Quote array as a parenthesis-enclosed list of identifiers
265
- def quote_identifier_list(identifiers) = "(#{identifiers.map { quote_identifier(_1) }.join(', ')})"
266
264
 
267
- # Quote array as a parenthesis-enclosed list of literals
268
- def quote_literal_list(values) = "(#{values.map { quote_literal(_1) }.join(', ')})"
265
+ # Quote array as a comma-separated sequence of identifiers
266
+ def quote_identifier_seq(identifiers) = identifiers.map { quote_identifier(_1) }.join(', ')
267
+
268
+ # Quote array as a parenthesis-enclosed sequence of identifiers
269
+ def quote_identifier_list(identifiers) = "(#{quote_identifier_seq(identifiers)})"
270
+
271
+ # Quote array as a comma-separated sequence of values
272
+ def quote_value_seq(values) = values.map { quote_literal(_1) }.join(', ')
273
+
274
+ # Quote array as a parenthesis-enclosed list of value
275
+ def quote_value_list(values) = "(#{quote_value_seq(values)})"
276
+
277
+ # Old aliases. TODO Remove
278
+ def quote_literal(value) = quote_value(value)
279
+ def quote_literal_list(values) = quote_value_list(values)
269
280
 
270
281
  # :call-seq:
271
282
  # exist?(query)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_conn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.1
4
+ version: 0.17.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claus Rasmussen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-04 00:00:00.000000000 Z
11
+ date: 2024-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg