pg 1.3.0.rc1-x64-mingw32 → 1.3.0.rc2-x64-mingw32

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: aeaae01e3d0a2d15b2bc2f3e4be6b48ac92645a6df9a2c15dd08c9e660098b2d
4
- data.tar.gz: 06a1f5a7a3e673065cadacfef64a30b58c90bf9c23e97e702b048e044dcd6e1a
3
+ metadata.gz: 41acb016111b1a403c907386e51811541869bacec6523042e95491def8b820d3
4
+ data.tar.gz: 00c0d9ceddda6fe84b6fe1ccb1561a566c3c380ad6b9c35009e596b4df773229
5
5
  SHA512:
6
- metadata.gz: b9e0a99a019c965dcb2391f7bb2954aaf57f14b036d66ac45a19f189404cc27b2dc3cc8dcd12f01183d871172deab9752df627ae9c54d80b5f8081595ae39af3
7
- data.tar.gz: cc48d30caad8570f86fc713b61eb1515741b0140f67b939ee2cce7624ae107d28eae6a8a2f067ec7959de65a871bd4fef60a95dfa593f7936436b7c8ac424369
6
+ metadata.gz: 2bcc301c930009cef1586d590ce1b84e2afa3ce96c8fbb69e33cc93732d4862e7001f1a5a0fa687eb1436359e8984fdb7ddba86d83af9c9df66aad40e42f1343
7
+ data.tar.gz: cba31ff2d6a877e288022d7bb6c7ebf56641f6483275606ed1645758f009bbe58e90c002cb85cd6ddb573916cc540ed754a322e6915d8264c82fd03f45de50b0
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- name: Build and test binary gems
1
+ name: Binary gems
2
2
 
3
3
  on: [push, pull_request]
4
4
 
@@ -6,12 +6,18 @@ jobs:
6
6
  job_build_x64:
7
7
  name: build
8
8
  runs-on: ubuntu-latest
9
+ strategy:
10
+ fail-fast: false
11
+ matrix:
12
+ include:
13
+ - platform: "x64-mingw-ucrt"
14
+ - platform: "x64-mingw32"
9
15
  steps:
10
16
  - uses: actions/checkout@v2
11
17
  - name: Set up Ruby
12
18
  uses: ruby/setup-ruby@v1
13
19
  with:
14
- ruby-version: "3.0"
20
+ ruby-version: "3.1"
15
21
  - run: bundle install
16
22
 
17
23
  - name: Create a dummy cert to satisfy the build
@@ -22,7 +28,7 @@ jobs:
22
28
  cp gem-public_cert.pem ~/.gem/gem-public_cert.pem
23
29
 
24
30
  - name: Build binary gem
25
- run: bundle exec rake gem:windows:x64-mingw32
31
+ run: bundle exec rake gem:windows:${{ matrix.platform }}
26
32
 
27
33
  - name: Upload binary gem
28
34
  uses: actions/upload-artifact@v2
@@ -37,21 +43,20 @@ jobs:
37
43
  fail-fast: false
38
44
  matrix:
39
45
  include:
40
- - ruby: "3.0"
46
+ - ruby: "3.1"
47
+ platform: "x64-mingw-ucrt"
41
48
  PGVERSION: 14.0-1-windows-x64
42
- PGVER: "14"
43
49
  - ruby: "2.5"
50
+ platform: "x64-mingw32"
44
51
  PGVERSION: 10.16-1-windows
45
- PGVER: "10"
46
52
 
47
53
  runs-on: windows-latest
48
54
  env:
49
55
  PGVERSION: ${{ matrix.PGVERSION }}
50
- PGVER: ${{ matrix.PGVER }}
51
56
  steps:
52
57
  - uses: actions/checkout@v2
53
58
  - name: Set up Ruby
54
- uses: ruby/setup-ruby@v1
59
+ uses: MSP-Greg/ruby-setup-ruby@win-ucrt-1
55
60
  with:
56
61
  ruby-version: ${{ matrix.ruby }}
57
62
 
@@ -75,6 +80,6 @@ jobs:
75
80
  echo "PGPASSWORD=" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
76
81
 
77
82
  - run: bundle install
78
- - run: gem install --local *.gem --verbose
83
+ - run: gem install --local pg-*${{ matrix.platform }}.gem --verbose
79
84
  - name: Run specs
80
85
  run: ruby -rpg -S rspec spec/**/*_spec.rb
@@ -1,4 +1,4 @@
1
- name: Build and test source gem
1
+ name: Source gem
2
2
 
3
3
  on: [push, pull_request]
4
4
 
@@ -11,7 +11,7 @@ jobs:
11
11
  - name: Set up Ruby
12
12
  uses: ruby/setup-ruby@v1
13
13
  with:
14
- ruby-version: "3.0"
14
+ ruby-version: "3.1"
15
15
 
16
16
  - name: Build source gem
17
17
  run: gem build pg.gemspec
@@ -31,7 +31,7 @@ jobs:
31
31
  include:
32
32
  - os: windows
33
33
  ruby: "head"
34
- PGVERSION: 14.0-1-windows-x64
34
+ PGVERSION: 14.1-1-windows-x64
35
35
  PGVER: "14"
36
36
  - os: windows
37
37
  ruby: "2.5"
@@ -41,7 +41,7 @@ jobs:
41
41
  ruby: "head"
42
42
  PGVER: "14"
43
43
  - os: ubuntu
44
- ruby: "3.0"
44
+ ruby: "3.1"
45
45
  PGVER: "12"
46
46
  - os: ubuntu
47
47
  ruby: "2.5"
@@ -54,8 +54,8 @@ jobs:
54
54
  PGVER: "14"
55
55
  - os: macos
56
56
  ruby: "head"
57
- PGVERSION: 13.2-1-osx
58
- PGVER: "13"
57
+ PGVERSION: 14.1-1-osx
58
+ PGVER: "14"
59
59
 
60
60
  runs-on: ${{ matrix.os }}-latest
61
61
  env:
@@ -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
68
+ uses: MSP-Greg/ruby-setup-ruby@win-ucrt-1
69
69
  with:
70
70
  ruby-version: ${{ matrix.ruby }}
71
71
 
@@ -113,9 +113,10 @@ jobs:
113
113
  - run: bundle install
114
114
 
115
115
  - run: gem install --local *.gem --verbose
116
+ continue-on-error: ${{ matrix.ruby == 'truffleruby-head' }}
116
117
 
117
118
  - name: Run specs
118
- continue-on-error: ${{ matrix.ruby == 'truffleruby' }}
119
+ continue-on-error: ${{ matrix.ruby == 'truffleruby-head' }}
119
120
  env:
120
121
  PG_DEBUG: 0
121
122
  run: ruby -rpg -S rspec spec/**/*_spec.rb -cfdoc
data/Gemfile CHANGED
@@ -9,6 +9,6 @@ group :development, :test do
9
9
  gem "bundler", ">= 1.16", "< 3.0"
10
10
  gem "rake-compiler", "~> 1.0"
11
11
  gem "rake-compiler-dock", "~> 1.0"
12
- gem "rdoc", "~> 5.1"
12
+ gem "rdoc", "~> 6.4"
13
13
  gem "rspec", "~> 3.5"
14
14
  end
data/History.rdoc CHANGED
@@ -3,8 +3,8 @@
3
3
  Install Enhancements:
4
4
  - Print some install help if libpq wasn't found. #396
5
5
  This should help to pick the necessary package without googling.
6
- - Update Windows fat binary gem to OpenSSL-1.1.1l and PostgreSQL-14.0.
7
- - Add a binary gem for Ruby 3.0.
6
+ - Update Windows fat binary gem to OpenSSL-1.1.1m and PostgreSQL-14.1.
7
+ - Add binary Windows gems for Ruby 3.0 and 3.1.
8
8
  - Make the library path of libpq available in ruby as PG::POSTGRESQL_LIB_PATH and add it to the search paths on Windows similar to +rpath+ on Unix systems. #373
9
9
  - Fall back to pkg-config if pg_config is not found. #380
10
10
  - Add option to extconf.rb to disable nogvl-wrapping of libpq functions.
@@ -43,6 +43,7 @@ Other Enhancements:
43
43
  - Support ObjectSpace.memsize_of(obj) on all classes implemented in C. #393
44
44
  - Make all PG objects implemented in C memory moveable and therefore GC.compact friendly. #349
45
45
  - Update errorcodes and error classes to PostgreSQL-14.0.
46
+ - Add PG::CONNECTION_* constants for conn.status of newer PostgreSQL versions.
46
47
  - Add better support for logical replication. #339
47
48
  - Change conn.socket_io to read+write mode and to a BasicSocket object instead of IO.
48
49
  - Use rb_io_wait() and the conn.socket_io object if available and remove Windows specific wait functions.
@@ -53,6 +54,7 @@ Bugfixes:
53
54
  - Fix Connection#transaction to no longer block on interrupts, for instance when pressing Ctrl-C and cancel a running query. #390
54
55
  - Avoid casting of OIDs to fix compat with Redshift database. #369
55
56
  - Call conn.block before each conn.get_result call to avoid possible blocking in case of a slow network and multiple query results.
57
+ - Sporadic Errno::ENOTSOCK when using conn.socket_io on Windows #398
56
58
 
57
59
  Deprecated:
58
60
  - Add deprecation warning to PG::BasicTypeRegistry.register_type and siblings.
data/Rakefile.cross CHANGED
@@ -250,6 +250,7 @@ class CrossLibrary < OpenStruct
250
250
  end
251
251
 
252
252
  CrossLibraries = [
253
+ ['x64-mingw-ucrt', 'mingw64', 'x86_64-w64-mingw32'],
253
254
  ['x86-mingw32', 'mingw', 'i686-w64-mingw32'],
254
255
  ['x64-mingw32', 'mingw64', 'x86_64-w64-mingw32'],
255
256
  ].map do |platform, openssl_config, toolchain|
@@ -291,7 +292,7 @@ CrossLibraries.each do |xlib|
291
292
  RakeCompilerDock.sh <<-EOT, platform: platform
292
293
  (cp build/gem/gem-*.pem ~/.gem/ || true) &&
293
294
  bundle install --local &&
294
- rake native:#{platform} pkg/#{$gem_spec.full_name}-#{platform}.gem MAKE="make -j`nproc`" RUBY_CC_VERSION=3.0.0:2.7.0:2.6.0:2.5.0
295
+ rake native:#{platform} pkg/#{$gem_spec.full_name}-#{platform}.gem MAKE="make -j`nproc`" RUBY_CC_VERSION=3.1.0:3.0.0:2.7.0:2.6.0:2.5.0
295
296
  EOT
296
297
  end
297
298
  desc "Build the windows binary gems"
data/ext/pg.c CHANGED
@@ -47,6 +47,7 @@
47
47
  */
48
48
 
49
49
  #include "pg.h"
50
+ #include "pg_config.h"
50
51
 
51
52
  int pg_skip_deprecation_warning;
52
53
  VALUE rb_mPG;
@@ -415,14 +416,34 @@ Init_pg_ext()
415
416
  rb_define_const(rb_mPGconstants, "CONNECTION_MADE", INT2FIX(CONNECTION_MADE));
416
417
  /* Waiting for a response from the server. */
417
418
  rb_define_const(rb_mPGconstants, "CONNECTION_AWAITING_RESPONSE", INT2FIX(CONNECTION_AWAITING_RESPONSE));
418
- /* Received authentication; waiting for backend start-up to finish. */
419
+ /* Received authentication; waiting for backend startup. */
419
420
  rb_define_const(rb_mPGconstants, "CONNECTION_AUTH_OK", INT2FIX(CONNECTION_AUTH_OK));
421
+ /* This state is no longer used. */
422
+ rb_define_const(rb_mPGconstants, "CONNECTION_SETENV", INT2FIX(CONNECTION_SETENV));
420
423
  /* Negotiating SSL encryption. */
421
424
  rb_define_const(rb_mPGconstants, "CONNECTION_SSL_STARTUP", INT2FIX(CONNECTION_SSL_STARTUP));
422
- /* Negotiating environment-driven parameter settings. */
423
- rb_define_const(rb_mPGconstants, "CONNECTION_SETENV", INT2FIX(CONNECTION_SETENV));
424
425
  /* Internal state - PG.connect() needed. */
425
426
  rb_define_const(rb_mPGconstants, "CONNECTION_NEEDED", INT2FIX(CONNECTION_NEEDED));
427
+ #if PG_MAJORVERSION_NUM >= 10
428
+ /* Checking if session is read-write. Available since PostgreSQL-10. */
429
+ rb_define_const(rb_mPGconstants, "CONNECTION_CHECK_WRITABLE", INT2FIX(CONNECTION_CHECK_WRITABLE));
430
+ #endif
431
+ #if PG_MAJORVERSION_NUM >= 10
432
+ /* Consuming any extra messages. Available since PostgreSQL-10. */
433
+ rb_define_const(rb_mPGconstants, "CONNECTION_CONSUME", INT2FIX(CONNECTION_CONSUME));
434
+ #endif
435
+ #if PG_MAJORVERSION_NUM >= 12
436
+ /* Negotiating GSSAPI. Available since PostgreSQL-12. */
437
+ rb_define_const(rb_mPGconstants, "CONNECTION_GSS_STARTUP", INT2FIX(CONNECTION_GSS_STARTUP));
438
+ #endif
439
+ #if PG_MAJORVERSION_NUM >= 13
440
+ /* Checking target server properties. Available since PostgreSQL-13. */
441
+ rb_define_const(rb_mPGconstants, "CONNECTION_CHECK_TARGET", INT2FIX(CONNECTION_CHECK_TARGET));
442
+ #endif
443
+ #if PG_MAJORVERSION_NUM >= 14
444
+ /* Checking if server is in standby mode. Available since PostgreSQL-14. */
445
+ rb_define_const(rb_mPGconstants, "CONNECTION_CHECK_STANDBY", INT2FIX(CONNECTION_CHECK_STANDBY));
446
+ #endif
426
447
 
427
448
  /****** PG::Connection CLASS CONSTANTS: Nonblocking connection polling status ******/
428
449