pgtk 0.32.7 → 0.32.8

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: 54a200f1f191d63b73c0137b1a1ace4aa34667f041d141365b47d9c90d96f191
4
- data.tar.gz: 1518e5031b71a69e3955cabe77397d05917398fb87a12b94ee5c3aa57ab107eb
3
+ metadata.gz: cb85109114237337349767ef8260821c03422e3a2cf8f91039b927aad36041da
4
+ data.tar.gz: ae133a07f824180406a4a9d4ff7bb9534db7a63db50be4a9f20e77f7526187ee
5
5
  SHA512:
6
- metadata.gz: 28bbce0d3b2cfcbe2347f376738938e0e714f22b89fd2696052c56ecf7be83c242e9f0a87c76c235f109ec2008a45a1471ea157fc78f3ac9a8b8b71641ac2556
7
- data.tar.gz: e94795ee7e4de524c77b5fddefb7a0d2ea9e85ec05beb09ebf81000919afec9a7b54d8a0fb480d9e24c16990fed7b7b142769caefddaefdd32d504f8086f5f46
6
+ metadata.gz: b7495aa0b7cbc4ecc2fab5196d1c227ca47becc6ec52b8565cefc4e750b9062fd5bd15ac68332c7460b99c0aeb45eee7b2bd0081e339b4531fe8ce7e82fde339
7
+ data.tar.gz: bcf02ab40a3dfe2b2fdf3f3b4d1871ad8e56eaff0856f85e5d930b5d19364b6778f9c1c71a09c774ef5fad4f237b1296530747a1e993d3e38acff5265a9bd64f
data/lib/pgtk/stash.rb CHANGED
@@ -34,6 +34,7 @@ class Pgtk::Stash
34
34
  REINDEX TRUNCATE CREATE ALTER DROP SET START
35
35
  ].freeze
36
36
  MODS_RE = Regexp.new("\\A(#{MODS.join('|')})(\\s|$)")
37
+ WITH_RE = /\AWITH(\s|$)/
37
38
 
38
39
  IDENT = '[a-z_][a-z0-9_]*'
39
40
 
@@ -48,7 +49,7 @@ class Pgtk::Stash
48
49
  CLOCK_TIMESTAMP)(?:\s*\(|(?=[^a-z0-9_]|$))
49
50
  /ix
50
51
 
51
- private_constant :MODS, :ALTS, :IDENT, :MODS_RE, :ALTS_RE, :READS_RE, :NONDETERMINISTIC
52
+ private_constant :MODS, :ALTS, :IDENT, :MODS_RE, :WITH_RE, :ALTS_RE, :READS_RE, :NONDETERMINISTIC
52
53
 
53
54
  # Initialize a new Stash with query caching.
54
55
  #
@@ -130,7 +131,7 @@ class Pgtk::Stash
130
131
  # @return [PG::Result] Query result object
131
132
  def exec(query, params = [], result = 0)
132
133
  pure = (query.is_a?(Array) ? query.join(' ') : query).gsub(/\s+/, ' ').strip
133
- if MODS_RE.match?(pure)
134
+ if MODS_RE.match?(pure) || (WITH_RE.match?(pure) && ALTS_RE.match?(pure))
134
135
  modify(pure, params, result)
135
136
  elsif /(^|\s)pg_[a-z_]+\(/.match?(pure)
136
137
  @pool.exec(pure, params, result)
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.32.7' unless defined?(VERSION)
13
+ VERSION = '0.32.8' 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.32.7
4
+ version: 0.32.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko