pg_conn 0.17.1 → 0.17.3

Sign up to get free protection for your applications and to get access to all the features.
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