pg 1.5.4-x64-mingw32 → 1.5.5-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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/binary-gems.yml +6 -6
- data/.github/workflows/source-gem.yml +10 -10
- data/History.md +8 -0
- data/Rakefile +4 -1
- data/Rakefile.cross +4 -3
- data/certs/kanis@comcard.de.pem +20 -0
- data/ext/errorcodes.txt +1 -1
- data/ext/pg_binary_encoder.c +1 -1
- data/ext/pg_copy_coder.c +7 -7
- data/lib/2.5/pg_ext.so +0 -0
- data/lib/2.6/pg_ext.so +0 -0
- data/lib/2.7/pg_ext.so +0 -0
- data/lib/3.0/pg_ext.so +0 -0
- data/lib/pg/version.rb +1 -1
- data/lib/x64-mingw32/libpq.dll +0 -0
- data/pg.gemspec +1 -1
- data.tar.gz.sig +0 -0
- metadata +3 -6
- metadata.gz.sig +0 -0
- data/translation/.po4a-version +0 -7
- data/translation/po/all.pot +0 -936
- data/translation/po/ja.po +0 -1036
- data/translation/po4a.cfg +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2e2941b283b4e9b9b2c680341f2a1d583681eb2c744a59fde717fbbefe28b92
|
4
|
+
data.tar.gz: d9663ef33ad0501b379cf0d545fa3c992e08fb20e2106a3013701804cbf3a282
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b5d19b2289ba605a908c478efc9aac517139e847ff7ba5223689b5f0b48b75d3d7e9cacde4e309d95c36e1edac8cb008a7aed55671f587ed8e5bea2e2421ecc
|
7
|
+
data.tar.gz: d3de39319127018fab5cbb8234c5e3258f305c9ef05b0c720030b7f6f69b8c5c094488bf582ab018514ecf883a50e60a5de3314fbb511b0717f3fecfdfc96409
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -9,7 +9,7 @@ on:
|
|
9
9
|
|
10
10
|
jobs:
|
11
11
|
job_build_x64:
|
12
|
-
name:
|
12
|
+
name: Build
|
13
13
|
runs-on: ubuntu-latest
|
14
14
|
strategy:
|
15
15
|
fail-fast: false
|
@@ -23,7 +23,7 @@ jobs:
|
|
23
23
|
- name: Set up Ruby
|
24
24
|
uses: ruby/setup-ruby@v1
|
25
25
|
with:
|
26
|
-
ruby-version: "3.
|
26
|
+
ruby-version: "3.3"
|
27
27
|
- run: bundle install
|
28
28
|
|
29
29
|
- name: Create a dummy cert to satisfy the build
|
@@ -43,18 +43,18 @@ jobs:
|
|
43
43
|
path: pkg/*.gem
|
44
44
|
|
45
45
|
job_test_binary:
|
46
|
-
name: Test
|
46
|
+
name: Test
|
47
47
|
needs: job_build_x64
|
48
48
|
strategy:
|
49
49
|
fail-fast: false
|
50
50
|
matrix:
|
51
51
|
include:
|
52
52
|
- os: windows-latest
|
53
|
-
ruby: "3.
|
53
|
+
ruby: "3.3"
|
54
54
|
platform: "x64-mingw-ucrt"
|
55
|
-
PGVERSION:
|
55
|
+
PGVERSION: 16.0-1-windows-x64
|
56
56
|
- os: windows-latest
|
57
|
-
ruby: "3.1.
|
57
|
+
ruby: "3.1.4-1"
|
58
58
|
platform: "x86-mingw32"
|
59
59
|
PGVERSION: 10.20-1-windows
|
60
60
|
- os: windows-latest
|
@@ -9,7 +9,7 @@ on:
|
|
9
9
|
|
10
10
|
jobs:
|
11
11
|
job_build_gem:
|
12
|
-
name:
|
12
|
+
name: Build
|
13
13
|
runs-on: ubuntu-latest
|
14
14
|
steps:
|
15
15
|
- uses: actions/checkout@v3
|
@@ -28,7 +28,7 @@ jobs:
|
|
28
28
|
path: "*.gem"
|
29
29
|
|
30
30
|
job_test_gem:
|
31
|
-
name: Test
|
31
|
+
name: Test
|
32
32
|
needs: job_build_gem
|
33
33
|
strategy:
|
34
34
|
fail-fast: false
|
@@ -36,19 +36,19 @@ jobs:
|
|
36
36
|
include:
|
37
37
|
- os: windows
|
38
38
|
ruby: "head"
|
39
|
-
PGVERSION:
|
40
|
-
PGVER: "
|
39
|
+
PGVERSION: 16.0-1-windows-x64
|
40
|
+
PGVER: "16"
|
41
41
|
- os: windows
|
42
42
|
ruby: "2.5"
|
43
43
|
PGVERSION: 9.4.26-1-windows-x64
|
44
44
|
PGVER: "9.4"
|
45
45
|
- os: windows
|
46
46
|
ruby: "mswin"
|
47
|
-
PGVERSION:
|
48
|
-
PGVER: "
|
47
|
+
PGVERSION: 16.0-1-windows-x64
|
48
|
+
PGVER: "16"
|
49
49
|
- os: ubuntu
|
50
50
|
ruby: "head"
|
51
|
-
PGVER: "
|
51
|
+
PGVER: "16"
|
52
52
|
- os: ubuntu
|
53
53
|
ruby: "3.2"
|
54
54
|
PGVER: "12"
|
@@ -61,11 +61,11 @@ jobs:
|
|
61
61
|
PGVER: "13"
|
62
62
|
- os: ubuntu
|
63
63
|
ruby: "truffleruby-head"
|
64
|
-
PGVER: "
|
64
|
+
PGVER: "16"
|
65
65
|
- os: macos
|
66
66
|
ruby: "head"
|
67
|
-
PGVERSION:
|
68
|
-
PGVER: "
|
67
|
+
PGVERSION: 16.0-1-osx
|
68
|
+
PGVER: "16"
|
69
69
|
|
70
70
|
runs-on: ${{ matrix.os }}-${{ matrix.os_ver || 'latest' }}
|
71
71
|
env:
|
data/History.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## v1.5.5 [2024-02-15] Lars Kanis <lars@greiz-reinsdorf.de>
|
2
|
+
|
3
|
+
- Explicitly retype timespec fields to int64_t to fix compatibility with 32bit arches. [#547](https://github.com/ged/ruby-pg/pull/547)
|
4
|
+
- Fix possible buffer overflows in PG::BinaryDecoder::CopyRow on 32 bit systems. [#548](https://github.com/ged/ruby-pg/pull/548)
|
5
|
+
- Add binary Windows gems for Ruby 3.3.
|
6
|
+
- Update Windows fat binary gem to OpenSSL-3.2.1 and PostgreSQL-16.2.
|
7
|
+
|
8
|
+
|
1
9
|
## v1.5.4 [2023-09-01] Lars Kanis <lars@greiz-reinsdorf.de>
|
2
10
|
|
3
11
|
- Fix compiling the pg extension with MSVC 2022. [#535](https://github.com/ged/ruby-pg/pull/535)
|
data/Rakefile
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# -*- rake -*-
|
2
2
|
|
3
|
+
# Enable english error messages, as some specs depend on them
|
4
|
+
ENV["LANG"] = "C"
|
5
|
+
|
3
6
|
require 'rbconfig'
|
4
7
|
require 'pathname'
|
5
8
|
require 'tmpdir'
|
@@ -91,7 +94,7 @@ end
|
|
91
94
|
|
92
95
|
desc "Update list of server error codes"
|
93
96
|
task :update_error_codes do
|
94
|
-
URL_ERRORCODES_TXT = "http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob_plain;f=src/backend/utils/errcodes.txt;hb=refs/tags/
|
97
|
+
URL_ERRORCODES_TXT = "http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob_plain;f=src/backend/utils/errcodes.txt;hb=refs/tags/REL_16_0"
|
95
98
|
|
96
99
|
ERRORCODES_TXT = "ext/errorcodes.txt"
|
97
100
|
sh "wget #{URL_ERRORCODES_TXT.inspect} -O #{ERRORCODES_TXT.inspect} || curl #{URL_ERRORCODES_TXT.inspect} -o #{ERRORCODES_TXT.inspect}"
|
data/Rakefile.cross
CHANGED
@@ -31,8 +31,8 @@ class CrossLibrary < OpenStruct
|
|
31
31
|
self.host_platform = toolchain
|
32
32
|
|
33
33
|
# Cross-compilation constants
|
34
|
-
self.openssl_version = ENV['OPENSSL_VERSION'] || '3.1
|
35
|
-
self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '
|
34
|
+
self.openssl_version = ENV['OPENSSL_VERSION'] || '3.2.1'
|
35
|
+
self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '16.2'
|
36
36
|
|
37
37
|
# Check if symlinks work in the current working directory.
|
38
38
|
# This fails, if rake-compiler-dock is running on a Windows box.
|
@@ -184,6 +184,7 @@ class CrossLibrary < OpenStruct
|
|
184
184
|
"--host=#{host_platform}",
|
185
185
|
'--with-openssl',
|
186
186
|
'--without-zlib',
|
187
|
+
'--without-icu',
|
187
188
|
]
|
188
189
|
|
189
190
|
chdir( static_postgresql_builddir ) do
|
@@ -290,7 +291,7 @@ CrossLibraries.each do |xlib|
|
|
290
291
|
RakeCompilerDock.sh <<-EOT, platform: platform
|
291
292
|
(cp build/gem/gem-*.pem ~/.gem/ || true) &&
|
292
293
|
bundle install --local &&
|
293
|
-
rake native:#{platform} pkg/#{$gem_spec.full_name}-#{platform}.gem MAKE="make -j`nproc`" RUBY_CC_VERSION=3.2.0:3.1.0:3.0.0:2.7.0:2.6.0:2.5.0
|
294
|
+
rake native:#{platform} pkg/#{$gem_spec.full_name}-#{platform}.gem MAKE="make -j`nproc`" RUBY_CC_VERSION=3.3.0:3.2.0:3.1.0:3.0.0:2.7.0:2.6.0:2.5.0
|
294
295
|
EOT
|
295
296
|
end
|
296
297
|
desc "Build the windows binary gems"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDLjCCAhagAwIBAgIBCzANBgkqhkiG9w0BAQsFADA9MQ4wDAYDVQQDDAVrYW5p
|
3
|
+
czEXMBUGCgmSJomT8ixkARkWB2NvbWNhcmQxEjAQBgoJkiaJk/IsZAEZFgJkZTAe
|
4
|
+
Fw0yMzA0MjgwOTI0NDhaFw0yNDA0MjcwOTI0NDhaMD0xDjAMBgNVBAMMBWthbmlz
|
5
|
+
MRcwFQYKCZImiZPyLGQBGRYHY29tY2FyZDESMBAGCgmSJomT8ixkARkWAmRlMIIB
|
6
|
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApop+rNmg35bzRugZ21VMGqI6
|
7
|
+
HGzPLO4VHYncWn/xmgPU/ZMcZdfj6MzIaZJ/czXyt4eHpBk1r8QOV3gBXnRXEjVW
|
8
|
+
9xi+EdVOkTV2/AVFKThcbTAQGiF/bT1n2M+B1GTybRzMg6hyhOJeGPqIhLfJEpxn
|
9
|
+
lJi4+ENAVT4MpqHEAGB8yFoPC0GqiOHQsdHxQV3P3c2OZqG+yJey74QtwA2tLcLn
|
10
|
+
Q53c63+VLGsOjODl1yPn/2ejyq8qWu6ahfTxiIlSar2UbwtaQGBDFdb2CXgEufXT
|
11
|
+
L7oaPxlmj+Q2oLOfOnInd2Oxop59HoJCQPsg8f921J43NCQGA8VHK6paxIRDLQID
|
12
|
+
AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUvgTdT7fe
|
13
|
+
x17ugO3IOsjEJwW7KP4wDQYJKoZIhvcNAQELBQADggEBACAxNXwfMGG7paZjnG/c
|
14
|
+
smdi/ocW2GmCNtILaSzDZqlD5LoA68MiO7u5vwWyBaDJ6giUB330VJoGRbWMxvxN
|
15
|
+
JU6Bnwa4yYp9YtF91wYIi7FXwIrCPKd9bk3bf4M5wECdsv+zvVceq2zRXqD7fci8
|
16
|
+
1LRG8ort/f4TgaT7B4aNwOaabA2UT6u0FGeglqxLkhir86MY3QQyBfJZUoTKWGkz
|
17
|
+
S9a7GXsYpe+8HMOaE4+SZp8SORKPgATND5m/4VdzuO59VXjE5UP7QpXigbxAt7H7
|
18
|
+
ciK5Du2ZDhowmWzZwNzR7VvVmfAK6RQJlRB03VkkQRWGld5yApOrYDne6WbD8kE0
|
19
|
+
uM8=
|
20
|
+
-----END CERTIFICATE-----
|
data/ext/errorcodes.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# errcodes.txt
|
3
3
|
# PostgreSQL error codes
|
4
4
|
#
|
5
|
-
# Copyright (c) 2003-
|
5
|
+
# Copyright (c) 2003-2023, PostgreSQL Global Development Group
|
6
6
|
#
|
7
7
|
# This list serves as the basis for generating source files containing error
|
8
8
|
# codes. It is kept in a common format to make sure all these source files have
|
data/ext/pg_binary_encoder.c
CHANGED
@@ -185,7 +185,7 @@ pg_bin_enc_timestamp(t_pg_coder *this, VALUE value, char *out, VALUE *intermedia
|
|
185
185
|
ts = rb_time_timespec(*intermediate);
|
186
186
|
/* PostgreSQL's timestamp is based on year 2000 and Ruby's time is based on 1970.
|
187
187
|
* Adjust the 30 years difference. */
|
188
|
-
timestamp = (ts.tv_sec - 10957L * 24L * 3600L) * 1000000 + (ts.tv_nsec / 1000);
|
188
|
+
timestamp = ((int64_t)ts.tv_sec - 10957L * 24L * 3600L) * 1000000 + ((int64_t)ts.tv_nsec / 1000);
|
189
189
|
|
190
190
|
if( this->flags & PG_CODER_TIMESTAMP_DB_LOCAL ) {
|
191
191
|
/* send as local time */
|
data/ext/pg_copy_coder.c
CHANGED
@@ -795,26 +795,26 @@ pg_bin_dec_copy_row(t_pg_coder *conv, const char *input_line, int len, int _tupl
|
|
795
795
|
cur_ptr = input_line;
|
796
796
|
line_end_ptr = input_line + len;
|
797
797
|
|
798
|
-
if (cur_ptr
|
798
|
+
if (line_end_ptr - cur_ptr >= 11 && memcmp(cur_ptr, BinarySignature, 11) == 0){
|
799
799
|
/* binary COPY header signature detected -> just drop it */
|
800
800
|
int ext_bytes;
|
801
801
|
cur_ptr += 11;
|
802
802
|
|
803
803
|
/* read flags */
|
804
|
-
if (cur_ptr
|
804
|
+
if (line_end_ptr - cur_ptr < 4 ) goto length_error;
|
805
805
|
cur_ptr += 4;
|
806
806
|
|
807
807
|
/* read header extensions */
|
808
|
-
if (cur_ptr
|
808
|
+
if (line_end_ptr - cur_ptr < 4 ) goto length_error;
|
809
809
|
ext_bytes = read_nbo32(cur_ptr);
|
810
810
|
if (ext_bytes < 0) goto length_error;
|
811
811
|
cur_ptr += 4;
|
812
|
-
if (cur_ptr
|
812
|
+
if (line_end_ptr - cur_ptr < ext_bytes ) goto length_error;
|
813
813
|
cur_ptr += ext_bytes;
|
814
814
|
}
|
815
815
|
|
816
816
|
/* read row header */
|
817
|
-
if (cur_ptr
|
817
|
+
if (line_end_ptr - cur_ptr < 2 ) goto length_error;
|
818
818
|
nfields = read_nbo16(cur_ptr);
|
819
819
|
cur_ptr += 2;
|
820
820
|
|
@@ -830,7 +830,7 @@ pg_bin_dec_copy_row(t_pg_coder *conv, const char *input_line, int len, int _tupl
|
|
830
830
|
VALUE field_value;
|
831
831
|
|
832
832
|
/* read field size */
|
833
|
-
if (cur_ptr
|
833
|
+
if (line_end_ptr - cur_ptr < 4 ) goto length_error;
|
834
834
|
input_len = read_nbo32(cur_ptr);
|
835
835
|
cur_ptr += 4;
|
836
836
|
|
@@ -839,7 +839,7 @@ pg_bin_dec_copy_row(t_pg_coder *conv, const char *input_line, int len, int _tupl
|
|
839
839
|
/* NULL indicator */
|
840
840
|
rb_ary_push(array, Qnil);
|
841
841
|
} else {
|
842
|
-
if (cur_ptr
|
842
|
+
if (line_end_ptr - cur_ptr < input_len ) goto length_error;
|
843
843
|
|
844
844
|
/* copy input data to field_str */
|
845
845
|
PG_RB_STR_ENSURE_CAPA( field_str, input_len, output_ptr, end_capa_ptr );
|
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/version.rb
CHANGED
data/lib/x64-mingw32/libpq.dll
CHANGED
Binary file
|
data/pg.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
# Specify which files should be added to the gem when it is released.
|
24
24
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
25
25
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
26
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
26
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features|translation)/}) }
|
27
27
|
end
|
28
28
|
spec.extensions = ["ext/extconf.rb"]
|
29
29
|
spec.require_paths = ["lib"]
|
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.5.
|
4
|
+
version: 1.5.5
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Michael Granger
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
ciK5Du2ZDhowmWzZwNzR7VvVmfAK6RQJlRB03VkkQRWGld5yApOrYDne6WbD8kE0
|
31
31
|
uM8=
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date:
|
33
|
+
date: 2024-02-15 00:00:00.000000000 Z
|
34
34
|
dependencies: []
|
35
35
|
description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL
|
36
36
|
9.3 and later.
|
@@ -122,6 +122,7 @@ files:
|
|
122
122
|
- Rakefile
|
123
123
|
- Rakefile.cross
|
124
124
|
- certs/ged.pem
|
125
|
+
- certs/kanis@comcard.de.pem
|
125
126
|
- certs/larskanis-2022.pem
|
126
127
|
- certs/larskanis-2023.pem
|
127
128
|
- ext/errorcodes.def
|
@@ -217,10 +218,6 @@ files:
|
|
217
218
|
- sample/test_binary_values.rb
|
218
219
|
- sample/wal_shipper.rb
|
219
220
|
- sample/warehouse_partitions.rb
|
220
|
-
- translation/.po4a-version
|
221
|
-
- translation/po/all.pot
|
222
|
-
- translation/po/ja.po
|
223
|
-
- translation/po4a.cfg
|
224
221
|
homepage: https://github.com/ged/ruby-pg
|
225
222
|
licenses:
|
226
223
|
- BSD-2-Clause
|
metadata.gz.sig
CHANGED
Binary file
|
data/translation/.po4a-version
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
po4a version 0.68.
|
2
|
-
Written by Martin Quinson and Denis Barbier.
|
3
|
-
|
4
|
-
Copyright © 2002-2022 Software in the Public Interest, Inc.
|
5
|
-
This is free software; see source code for copying
|
6
|
-
conditions. There is NO warranty; not even for
|
7
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|