pg 1.3.2-x64-mingw32 → 1.3.3-x64-mingw32

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: da077a0c919465345f3ff0f58645315dcc442b071e4ca5fdedf855408e60eada
4
- data.tar.gz: 150ae05724ccafa8cd1cc17dd940af2f266c671da008ec679e915cf1d4291e57
3
+ metadata.gz: 656bf351f6c8ee5b50571c7871ca1966928ebf70113068814ba74f9762998a6c
4
+ data.tar.gz: 85fcfbf9d8b42c4adacaaee0d45ebbc003c59c06c4c627736c4fb54f10f8a00c
5
5
  SHA512:
6
- metadata.gz: 8369eea026b6a66577cbbd7413299f20f1e45c8e5794acca72f1b459f03ceb85bf1abcd082c1df7c598c628c68262fe3b879aae3da3dfe8336bb75ae7b2aa4f6
7
- data.tar.gz: e7cd0cca5e4d6675eabb77d1957c250b2b8017bfddb46ae142928f533b06b3328cb73df7de11f49c9b4559442cd4aba255006aeed95943234e2b63277b039ceb
6
+ metadata.gz: 53fff1a435b57d000834013a88c60715648e8e3646e2e7db207f94dfb6b0625bcc54ee2a81fb4a4b5ff238058b07bc3a108e1cb2007a025a1b6c872b20bfa152
7
+ data.tar.gz: ed3d06e75ab5dc8343581efab1ffdcf5e9d26e5cfc5a3821fe89e785f2dfa7c7a53dfd170a1faff786cae2186a0b30876efdfffc83cdd07ecaeb25d7f4dc3039
checksums.yaml.gz.sig CHANGED
Binary file
@@ -56,7 +56,7 @@ jobs:
56
56
  steps:
57
57
  - uses: actions/checkout@v2
58
58
  - name: Set up Ruby
59
- uses: MSP-Greg/ruby-setup-ruby@win-ucrt-1
59
+ uses: ruby/setup-ruby@v1
60
60
  with:
61
61
  ruby-version: ${{ matrix.ruby }}
62
62
 
@@ -35,8 +35,8 @@ jobs:
35
35
  PGVER: "14"
36
36
  - os: windows
37
37
  ruby: "2.5"
38
- PGVERSION: 9.3.25-1-windows-x64
39
- PGVER: "9.3"
38
+ PGVERSION: 9.4.26-1-windows-x64
39
+ PGVER: "9.4"
40
40
  - os: ubuntu
41
41
  ruby: "head"
42
42
  PGVER: "14"
@@ -65,7 +65,7 @@ jobs:
65
65
  steps:
66
66
  - uses: actions/checkout@v2
67
67
  - name: Set up Ruby
68
- uses: MSP-Greg/ruby-setup-ruby@win-ucrt-1
68
+ uses: ruby/setup-ruby@v1
69
69
  with:
70
70
  ruby-version: ${{ matrix.ruby }}
71
71
 
@@ -116,7 +116,6 @@ jobs:
116
116
  - run: gem install --local *.gem --verbose
117
117
 
118
118
  - name: Run specs
119
- continue-on-error: ${{ matrix.ruby == 'truffleruby-head' }}
120
119
  env:
121
120
  PG_DEBUG: 0
122
121
  run: ruby -rpg -S rspec spec/**/*_spec.rb -cfdoc
data/History.rdoc CHANGED
@@ -1,3 +1,11 @@
1
+ == v1.3.3 [2022-02-22] Lars Kanis <lars@greiz-reinsdorf.de>
2
+
3
+ Bugfixes:
4
+
5
+ - Fix omission of the third digit of IPv4 addresses in connection URI. #435
6
+ - Fix wrong permission of certs/larskanis-2022.pem in the pg-1.3.2.gem. #432
7
+
8
+
1
9
  == v1.3.2 [2022-02-14] Lars Kanis <lars@greiz-reinsdorf.de>
2
10
 
3
11
  Bugfixes:
@@ -55,7 +63,7 @@ API Enhancements:
55
63
  - Run Connection.ping in a second thread.
56
64
  - Make discard_results scheduler friendly
57
65
  - Do all socket waiting through the conn.socket_io object.
58
- - Avoid PG.connect blocking while address resolution by automatically providing the +hostaddr+ parameter.
66
+ - Avoid PG.connect blocking while address resolution by automatically providing the +hostaddr+ parameter and resolving in Ruby instead of libpq.
59
67
  - On Windows Fiber.scheduler support requires Ruby-3.1+.
60
68
  It is also only partly usable since may ruby IO methods are not yet scheduler aware on Windows.
61
69
  - Add support for pipeline mode of PostgreSQL-14. #401
data/Rakefile.cross CHANGED
@@ -7,6 +7,7 @@ require 'rake/clean'
7
7
  require 'rake/extensiontask'
8
8
  require 'rake/extensioncompiler'
9
9
  require 'ostruct'
10
+ require_relative 'rakelib/task_extension'
10
11
 
11
12
  MISCDIR = BASEDIR + 'misc'
12
13
 
@@ -20,6 +21,7 @@ end
20
21
 
21
22
  class CrossLibrary < OpenStruct
22
23
  include Rake::DSL
24
+ prepend TaskExtension
23
25
 
24
26
  def initialize(for_platform, openssl_config, toolchain)
25
27
  super()
data/ext/extconf.rb CHANGED
@@ -37,12 +37,12 @@ else
37
37
 
38
38
  if pgconfig && pgconfig != 'ignore'
39
39
  $stderr.puts "Using config values from %s" % [ pgconfig ]
40
- incdir = `"#{pgconfig}" --includedir`.chomp
41
- libdir = `"#{pgconfig}" --libdir`.chomp
40
+ incdir = IO.popen([pgconfig, "--includedir"], &:read).chomp
41
+ libdir = IO.popen([pgconfig, "--libdir"], &:read).chomp
42
42
  dir_config 'pg', incdir, libdir
43
43
 
44
44
  # Windows traditionally stores DLLs beside executables, not in libdir
45
- dlldir = RUBY_PLATFORM=~/mingw|mswin/ ? `"#{pgconfig}" --bindir`.chomp : libdir
45
+ dlldir = RUBY_PLATFORM=~/mingw|mswin/ ? IO.popen([pgconfig, "--bindir"], &:read).chomp : libdir
46
46
 
47
47
  elsif checking_for "libpq per pkg-config" do
48
48
  _cflags, ldflags, _libs = pkg_config("libpq")
@@ -87,7 +87,7 @@ begin
87
87
  have_library( 'libpq', 'PQconnectdb', ['libpq-fe.h'] ) ||
88
88
  have_library( 'ms/libpq', 'PQconnectdb', ['libpq-fe.h'] )
89
89
 
90
- rescue SystemExit => err
90
+ rescue SystemExit
91
91
  install_text = case RUBY_PLATFORM
92
92
  when /linux/
93
93
  <<-EOT
data/lib/2.5/pg_ext.so CHANGED
Binary file
data/lib/2.6/pg_ext.so CHANGED
Binary file
data/lib/2.7/pg_ext.so CHANGED
Binary file
data/lib/3.0/pg_ext.so CHANGED
Binary file
data/lib/pg/connection.rb CHANGED
@@ -105,7 +105,7 @@ class PG::Connection
105
105
  end
106
106
  # extract "host1,host2" from "host1:5432,host2:5432"
107
107
  iopts[:host] = uri_match['hostports'].split(',', -1).map do |hostport|
108
- hostmatch = HOST_AND_PORT.match(hostport)
108
+ hostmatch = /\A#{HOST_AND_PORT}\z/.match(hostport)
109
109
  hostmatch['IPv6address'] || hostmatch['IPv4address'] || hostmatch['reg-name']&.gsub(/%(\h\h)/){ $1.hex.chr }
110
110
  end.join(',')
111
111
  oopts = {}
data/lib/pg/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module PG
2
2
  # Library version
3
- VERSION = '1.3.2'
3
+ VERSION = '1.3.3'
4
4
  end
Binary file
@@ -0,0 +1,46 @@
1
+ # This source code is borrowed from:
2
+ # https://github.com/oneclick/rubyinstaller2/blob/b3dcbf69f131e44c78ea3a1c5e0041c223f266ce/lib/ruby_installer/build/utils.rb#L104-L144
3
+
4
+ module TaskExtension
5
+ # Extend rake's file task to be defined only once and to check the expected file is indeed generated
6
+ #
7
+ # The same as #task, but for #file.
8
+ # In addition this file task raises an error, if the file that is expected to be generated is not present after the block was executed.
9
+ def file(name, *args, &block)
10
+ task_once(name, block) do
11
+ super(name, *args) do |ta|
12
+ block.call(ta).tap do
13
+ raise "file #{ta.name} is missing after task executed" unless File.exist?(ta.name)
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ # Extend rake's task definition to be defined only once, even if called several times
20
+ #
21
+ # This allows to define common tasks next to specific tasks.
22
+ # It is expected that any variation of the task's block is reflected in the task name or namespace.
23
+ # If the task name is identical, the task block is executed only once, even if the file task definition is executed twice.
24
+ def task(name, *args, &block)
25
+ task_once(name, block) do
26
+ super
27
+ end
28
+ end
29
+
30
+ private def task_once(name, block)
31
+ name = name.keys.first if name.is_a?(Hash)
32
+ if block &&
33
+ Rake::Task.task_defined?(name) &&
34
+ Rake::Task[name].instance_variable_get('@task_block_location') == block.source_location
35
+ # task is already defined for this target and the same block
36
+ # So skip double definition of the same action
37
+ Rake::Task[name]
38
+ elsif block
39
+ yield.tap do
40
+ Rake::Task[name].instance_variable_set('@task_block_location', block.source_location)
41
+ end
42
+ else
43
+ yield
44
+ end
45
+ end
46
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Michael Granger
@@ -36,7 +36,7 @@ cert_chain:
36
36
  oL1mUdzB8KrZL4/WbG5YNX6UTtJbIOu9qEFbBAy4/jtIkJX+dlNoFwd4GXQW1YNO
37
37
  nA==
38
38
  -----END CERTIFICATE-----
39
- date: 2022-02-14 00:00:00.000000000 Z
39
+ date: 2022-02-22 00:00:00.000000000 Z
40
40
  dependencies: []
41
41
  description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL
42
42
  9.3 and later.
@@ -138,6 +138,7 @@ files:
138
138
  - misc/ruby-pg/Rakefile
139
139
  - misc/ruby-pg/lib/ruby/pg.rb
140
140
  - pg.gemspec
141
+ - rakelib/task_extension.rb
141
142
  - sample/array_insert.rb
142
143
  - sample/async_api.rb
143
144
  - sample/async_copyto.rb
metadata.gz.sig CHANGED
Binary file