pg 1.5.7-x64-mingw-ucrt → 1.5.9-x64-mingw-ucrt
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/History.md +19 -0
- data/Rakefile +1 -1
- data/Rakefile.cross +11 -7
- data/ext/errorcodes.def +4 -5
- data/ext/errorcodes.txt +2 -5
- data/ext/pg_binary_decoder.c +2 -0
- data/ext/pg_connection.c +4 -1
- data/ext/pg_copy_coder.c +4 -0
- data/ext/pg_record_coder.c +1 -1
- data/ext/pg_text_decoder.c +3 -0
- data/ext/pg_text_encoder.c +6 -0
- data/lib/3.1/pg_ext.so +0 -0
- data/lib/3.2/pg_ext.so +0 -0
- data/lib/3.3/pg_ext.so +0 -0
- data/lib/pg/basic_type_registry.rb +1 -0
- data/lib/pg/connection.rb +11 -8
- data/lib/pg/text_decoder/date.rb +3 -0
- data/lib/pg/text_decoder/json.rb +3 -0
- data/lib/pg/text_encoder/date.rb +1 -0
- data/lib/pg/text_encoder/inet.rb +3 -0
- data/lib/pg/text_encoder/json.rb +3 -0
- data/lib/pg/version.rb +1 -1
- data/lib/x64-mingw-ucrt/libpq.dll +0 -0
- data/pg.gemspec +3 -1
- data.tar.gz.sig +0 -0
- metadata +2 -14
- metadata.gz.sig +0 -0
- data/.appveyor.yml +0 -42
- data/.gems +0 -6
- data/.gemtest +0 -0
- data/.github/workflows/binary-gems.yml +0 -117
- data/.github/workflows/source-gem.yml +0 -144
- data/.gitignore +0 -22
- data/.hgsigs +0 -34
- data/.hgtags +0 -41
- data/.irbrc +0 -23
- data/.pryrc +0 -23
- data/.tm_properties +0 -21
- data/.travis.yml +0 -49
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebb494431fec39996f6dbfd9bf3e08df7d8fe012a31d78345453e4f54eef6098
|
4
|
+
data.tar.gz: 538d46a22bf8edb5f9efd37afbb9bd78a38cabd5ccfd84fdcf05745b322e1ab2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b25468126402d00d984fad2ef7bc262430685d8c2b1ffc4d845658476b0522446838516e72ab41c552a768bc4d4a1bfc3da90a9254c0adacaf01b32993478d36
|
7
|
+
data.tar.gz: fd731f9b331b379dca82282c8a283692cb18af8cb65cbb66b4999a5989a130065877e6ab20872a3b7a79e6e1935a8c5a7b8995c771c140c4a51d9a6046052bdb
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
## v1.5.9 [2024-10-24] Lars Kanis <lars@greiz-reinsdorf.de>
|
2
|
+
|
3
|
+
- Enable thread safety in static OpenSSL build for Windows. [#595](https://github.com/ged/ruby-pg/pull/595)
|
4
|
+
- Remove raising `conect_timeout` from 1 to 2 seconds. [#590](https://github.com/ged/ruby-pg/pull/590)
|
5
|
+
- Fix binary copy_data in Ractor context. [#594](https://github.com/ged/ruby-pg/pull/594)
|
6
|
+
- Exclude CI files and hidden files from built gem. [#591](https://github.com/ged/ruby-pg/pull/591)
|
7
|
+
This is to simplify security inspection.
|
8
|
+
- Update error classes to PostgreSQL-17.
|
9
|
+
- Update Windows fat binary gem to OpenSSL-3.4.0 and PostgreSQL-17.0.
|
10
|
+
|
11
|
+
|
12
|
+
## v1.5.8 [2024-09-06] Lars Kanis <lars@greiz-reinsdorf.de>
|
13
|
+
|
14
|
+
- Fix host list duplication every time conn.reset is used. [#586](https://github.com/ged/ruby-pg/pull/586)
|
15
|
+
- Add default decoder for anonymous record types to BasicTypeRegistry [#579](https://github.com/ged/ruby-pg/pull/579)
|
16
|
+
- Update Windows fat binary gem to OpenSSL-3.3.2 and PostgreSQL-16.4.
|
17
|
+
|
18
|
+
|
1
19
|
## v1.5.7 [2024-07-28] Lars Kanis <lars@greiz-reinsdorf.de>
|
2
20
|
|
3
21
|
- Remove deprecated use of fptr->fd.[#562](https://github.com/ged/ruby-pg/pull/562)
|
@@ -8,6 +26,7 @@
|
|
8
26
|
- Add missing PG::RollbackTransaction as an option to exit conn.transaction. [#560](https://github.com/ged/ruby-pg/pull/560)
|
9
27
|
Usage like in rails: https://api.rubyonrails.org/classes/ActiveRecord/Rollback.html
|
10
28
|
- Don't print a warning when bigdecimal is required on ruby-3.4+ [#574](https://github.com/ged/ruby-pg/pull/574)
|
29
|
+
- Update Windows fat binary gem to OpenSSL-3.3.1 and PostgreSQL-16.3.
|
11
30
|
|
12
31
|
|
13
32
|
## v1.5.6 [2024-03-01] Lars Kanis <lars@greiz-reinsdorf.de>
|
data/Rakefile
CHANGED
@@ -94,7 +94,7 @@ end
|
|
94
94
|
|
95
95
|
desc "Update list of server error codes"
|
96
96
|
task :update_error_codes do
|
97
|
-
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_17_0"
|
98
98
|
|
99
99
|
ERRORCODES_TXT = "ext/errorcodes.txt"
|
100
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.
|
35
|
-
self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '
|
34
|
+
self.openssl_version = ENV['OPENSSL_VERSION'] || '3.4.0'
|
35
|
+
self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '17.0'
|
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.
|
@@ -52,9 +52,8 @@ class CrossLibrary < OpenStruct
|
|
52
52
|
|
53
53
|
# Static OpenSSL build vars
|
54
54
|
self.static_openssl_builddir = static_builddir + "openssl-#{openssl_version}"
|
55
|
-
|
56
55
|
self.openssl_source_uri =
|
57
|
-
URI( "
|
56
|
+
URI( "https://github.com/openssl/openssl/releases/download/openssl-#{openssl_version}/openssl-#{openssl_version}.tar.gz" )
|
58
57
|
self.openssl_tarball = static_sourcesdir + File.basename( openssl_source_uri.path )
|
59
58
|
self.openssl_makefile = static_openssl_builddir + 'Makefile'
|
60
59
|
|
@@ -119,7 +118,7 @@ class CrossLibrary < OpenStruct
|
|
119
118
|
self.cmd_prelude = [
|
120
119
|
"env",
|
121
120
|
"CROSS_COMPILE=#{host_platform}-",
|
122
|
-
"CFLAGS=-DDSO_WIN32",
|
121
|
+
"CFLAGS=-DDSO_WIN32 -DOPENSSL_THREADS",
|
123
122
|
]
|
124
123
|
|
125
124
|
|
@@ -127,7 +126,7 @@ class CrossLibrary < OpenStruct
|
|
127
126
|
file openssl_makefile => static_openssl_builddir do |t|
|
128
127
|
chdir( static_openssl_builddir ) do
|
129
128
|
cmd = cmd_prelude.dup
|
130
|
-
cmd << "./Configure" << "-static" << openssl_config
|
129
|
+
cmd << "./Configure" << "threads" << "-static" << openssl_config
|
131
130
|
|
132
131
|
run( *cmd )
|
133
132
|
end
|
@@ -193,7 +192,7 @@ class CrossLibrary < OpenStruct
|
|
193
192
|
cmd << "CFLAGS=-L#{static_openssl_builddir}"
|
194
193
|
cmd << "LDFLAGS=-L#{static_openssl_builddir}"
|
195
194
|
cmd << "LDFLAGS_SL=-L#{static_openssl_builddir}"
|
196
|
-
cmd << "LIBS=-lwsock32 -lgdi32 -lws2_32 -lcrypt32"
|
195
|
+
cmd << "LIBS=-lssl -lwsock32 -lgdi32 -lws2_32 -lcrypt32"
|
197
196
|
cmd << "CPPFLAGS=-I#{static_openssl_builddir}/include"
|
198
197
|
|
199
198
|
run( *cmd )
|
@@ -207,6 +206,10 @@ class CrossLibrary < OpenStruct
|
|
207
206
|
chdir( static_postgresql_srcdir + "common" ) do
|
208
207
|
sh 'make', "-j#{NUM_CPUS}"
|
209
208
|
end
|
209
|
+
# Work around missing dependency to errorcodes.h in PostgreSQL-17.0
|
210
|
+
chdir( static_postgresql_srcdir + "backend" + "utils" ) do
|
211
|
+
sh 'make', "-j#{NUM_CPUS}"
|
212
|
+
end
|
210
213
|
chdir( static_postgresql_srcdir + "port" ) do
|
211
214
|
sh 'make', "-j#{NUM_CPUS}"
|
212
215
|
end
|
@@ -290,6 +293,7 @@ CrossLibraries.each do |xlib|
|
|
290
293
|
task "gem:windows:#{platform}" => ['gem:windows:prepare', xlib.openssl_tarball, xlib.postgresql_tarball] do
|
291
294
|
RakeCompilerDock.sh <<-EOT, platform: platform
|
292
295
|
(cp build/gem/gem-*.pem ~/.gem/ || true) &&
|
296
|
+
sudo apt-get update && sudo apt-get install -y bison flex &&
|
293
297
|
bundle install --local &&
|
294
298
|
rake native:#{platform} pkg/#{$gem_spec.full_name}-#{platform}.gem MAKEOPTS=-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
|
295
299
|
EOT
|
data/ext/errorcodes.def
CHANGED
@@ -453,6 +453,10 @@
|
|
453
453
|
VALUE klass = define_error_class( "IdleInTransactionSessionTimeout", "25" );
|
454
454
|
register_error_class( "25P03", klass );
|
455
455
|
}
|
456
|
+
{
|
457
|
+
VALUE klass = define_error_class( "TransactionTimeout", "25" );
|
458
|
+
register_error_class( "25P04", klass );
|
459
|
+
}
|
456
460
|
{
|
457
461
|
VALUE klass = define_error_class( "InvalidSqlStatementName", NULL );
|
458
462
|
register_error_class( "26000", klass );
|
@@ -885,11 +889,6 @@
|
|
885
889
|
VALUE klass = define_error_class( "DuplicateFile", "58" );
|
886
890
|
register_error_class( "58P02", klass );
|
887
891
|
}
|
888
|
-
{
|
889
|
-
VALUE klass = define_error_class( "SnapshotTooOld", NULL );
|
890
|
-
register_error_class( "72000", klass );
|
891
|
-
register_error_class( "72", klass );
|
892
|
-
}
|
893
892
|
{
|
894
893
|
VALUE klass = define_error_class( "ConfigFileError", NULL );
|
895
894
|
register_error_class( "F0000", klass );
|
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-2024, 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
|
@@ -252,6 +252,7 @@ Section: Class 25 - Invalid Transaction State
|
|
252
252
|
25P01 E ERRCODE_NO_ACTIVE_SQL_TRANSACTION no_active_sql_transaction
|
253
253
|
25P02 E ERRCODE_IN_FAILED_SQL_TRANSACTION in_failed_sql_transaction
|
254
254
|
25P03 E ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT idle_in_transaction_session_timeout
|
255
|
+
25P04 E ERRCODE_TRANSACTION_TIMEOUT transaction_timeout
|
255
256
|
|
256
257
|
Section: Class 26 - Invalid SQL Statement Name
|
257
258
|
|
@@ -439,10 +440,6 @@ Section: Class 58 - System Error (errors external to PostgreSQL itself)
|
|
439
440
|
58P01 E ERRCODE_UNDEFINED_FILE undefined_file
|
440
441
|
58P02 E ERRCODE_DUPLICATE_FILE duplicate_file
|
441
442
|
|
442
|
-
Section: Class 72 - Snapshot Failure
|
443
|
-
# (class borrowed from Oracle)
|
444
|
-
72000 E ERRCODE_SNAPSHOT_TOO_OLD snapshot_too_old
|
445
|
-
|
446
443
|
Section: Class F0 - Configuration File Error
|
447
444
|
|
448
445
|
# (PostgreSQL-specific error class)
|
data/ext/pg_binary_decoder.c
CHANGED
@@ -233,6 +233,8 @@ j2date(int jd, int *year, int *month, int *day)
|
|
233
233
|
*
|
234
234
|
* This is a decoder class for conversion of PostgreSQL binary date
|
235
235
|
* to Ruby Date objects.
|
236
|
+
*
|
237
|
+
* As soon as this class is used, it requires the ruby standard library 'date'.
|
236
238
|
*/
|
237
239
|
static VALUE
|
238
240
|
pg_bin_dec_date(t_pg_coder *conv, const char *val, int len, int tuple, int field, int enc_idx)
|
data/ext/pg_connection.c
CHANGED
@@ -264,6 +264,7 @@ pgconn_s_allocate( VALUE klass )
|
|
264
264
|
RB_OBJ_WRITE(self, &this->decoder_for_get_copy_data, Qnil);
|
265
265
|
RB_OBJ_WRITE(self, &this->trace_stream, Qnil);
|
266
266
|
rb_ivar_set(self, rb_intern("@calls_to_put_copy_data"), INT2FIX(0));
|
267
|
+
rb_ivar_set(self, rb_intern("@iopts_for_reset"), Qnil);
|
267
268
|
|
268
269
|
return self;
|
269
270
|
}
|
@@ -3135,7 +3136,9 @@ pgconn_async_get_last_result(VALUE self)
|
|
3135
3136
|
for(;;) {
|
3136
3137
|
int status;
|
3137
3138
|
|
3138
|
-
/*
|
3139
|
+
/* Wait for input before reading each result.
|
3140
|
+
* That way we support the ruby-3.x IO scheduler and don't block other ruby threads.
|
3141
|
+
*/
|
3139
3142
|
wait_socket_readable(self, NULL, get_result_readable);
|
3140
3143
|
|
3141
3144
|
cur = gvl_PQgetResult(conn);
|
data/ext/pg_copy_coder.c
CHANGED
@@ -212,6 +212,7 @@ pg_copycoder_type_map_get(VALUE self)
|
|
212
212
|
*
|
213
213
|
* See also PG::TextDecoder::CopyRow for the decoding direction with
|
214
214
|
* PG::Connection#get_copy_data .
|
215
|
+
* And see PG::BinaryEncoder::CopyRow for an encoder of the COPY binary format.
|
215
216
|
*/
|
216
217
|
static int
|
217
218
|
pg_text_enc_copy_row(t_pg_coder *conv, VALUE value, char *out, VALUE *intermediate, int enc_idx)
|
@@ -358,6 +359,7 @@ pg_text_enc_copy_row(t_pg_coder *conv, VALUE value, char *out, VALUE *intermedia
|
|
358
359
|
*
|
359
360
|
* See also PG::BinaryDecoder::CopyRow for the decoding direction with
|
360
361
|
* PG::Connection#get_copy_data .
|
362
|
+
* And see PG::TextEncoder::CopyRow for an encoder of the COPY text format.
|
361
363
|
*/
|
362
364
|
static int
|
363
365
|
pg_bin_enc_copy_row(t_pg_coder *conv, VALUE value, char *out, VALUE *intermediate, int enc_idx)
|
@@ -496,6 +498,7 @@ GetDecimalFromHex(char hex)
|
|
496
498
|
*
|
497
499
|
* See also PG::TextEncoder::CopyRow for the encoding direction with
|
498
500
|
* PG::Connection#put_copy_data .
|
501
|
+
* And see PG::BinaryDecoder::CopyRow for a decoder of the COPY binary format.
|
499
502
|
*/
|
500
503
|
/*
|
501
504
|
* Parse the current line into separate attributes (fields),
|
@@ -763,6 +766,7 @@ static const char BinarySignature[11] = "PGCOPY\n\377\r\n\0";
|
|
763
766
|
*
|
764
767
|
* See also PG::BinaryEncoder::CopyRow for the encoding direction with
|
765
768
|
* PG::Connection#put_copy_data .
|
769
|
+
* And see PG::TextDecoder::CopyRow for a decoder of the COPY text format.
|
766
770
|
*/
|
767
771
|
static VALUE
|
768
772
|
pg_bin_dec_copy_row(t_pg_coder *conv, const char *input_line, int len, int _tuple, int _field, int enc_idx)
|
data/ext/pg_record_coder.c
CHANGED
@@ -340,7 +340,7 @@ record_isspace(char ch)
|
|
340
340
|
* conn.exec("SELECT * FROM my_table").map_types!(PG::TypeMapByColumn.new([deco]*2)).to_a
|
341
341
|
* # => [{"v1"=>[2.0, 3.0], "v2"=>[4.0, 5.0]}, {"v1"=>[6.0, 7.0], "v2"=>[8.0, 9.0]}]
|
342
342
|
*
|
343
|
-
* It's more
|
343
|
+
* It's more convenient to use the PG::BasicTypeRegistry, which is based on database OIDs.
|
344
344
|
* # Fetch a NULL record of our type to retrieve the OIDs of the two fields "r" and "i"
|
345
345
|
* oids = conn.exec( "SELECT (NULL::complex).*" )
|
346
346
|
* # Build a type map (PG::TypeMapByColumn) for decoding the "complex" type
|
data/ext/pg_text_decoder.c
CHANGED
@@ -163,6 +163,8 @@ pg_text_dec_integer(t_pg_coder *conv, const char *val, int len, int tuple, int f
|
|
163
163
|
* This is a decoder class for conversion of PostgreSQL numeric types
|
164
164
|
* to Ruby BigDecimal objects.
|
165
165
|
*
|
166
|
+
* As soon as this class is used, it requires the 'bigdecimal' gem.
|
167
|
+
*
|
166
168
|
*/
|
167
169
|
static VALUE
|
168
170
|
pg_text_dec_numeric(t_pg_coder *conv, const char *val, int len, int tuple, int field, int enc_idx)
|
@@ -811,6 +813,7 @@ static VALUE pg_text_dec_timestamp(t_pg_coder *conv, const char *val, int len, i
|
|
811
813
|
* This is a decoder class for conversion of PostgreSQL inet type
|
812
814
|
* to Ruby IPAddr values.
|
813
815
|
*
|
816
|
+
* As soon as this class is used, it requires the ruby standard library 'ipaddr'.
|
814
817
|
*/
|
815
818
|
static VALUE
|
816
819
|
pg_text_dec_inet(t_pg_coder *conv, const char *val, int len, int tuple, int field, int enc_idx)
|
data/ext/pg_text_encoder.c
CHANGED
@@ -119,6 +119,10 @@ pg_text_enc_boolean(t_pg_coder *this, VALUE value, char *out, VALUE *intermediat
|
|
119
119
|
int
|
120
120
|
pg_coder_enc_to_s(t_pg_coder *this, VALUE value, char *out, VALUE *intermediate, int enc_idx)
|
121
121
|
{
|
122
|
+
/* Attention:
|
123
|
+
* In contrast to all other encoders, the "this" pointer of this encoder can be NULL.
|
124
|
+
* This is because it is used as a fall-back if no encoder is defined.
|
125
|
+
*/
|
122
126
|
VALUE str = rb_obj_as_string(value);
|
123
127
|
if( ENCODING_GET(str) == enc_idx ){
|
124
128
|
*intermediate = str;
|
@@ -345,6 +349,8 @@ pg_text_enc_float(t_pg_coder *conv, VALUE value, char *out, VALUE *intermediate,
|
|
345
349
|
*
|
346
350
|
* It converts Integer, Float and BigDecimal objects.
|
347
351
|
* All other objects are expected to respond to +to_s+.
|
352
|
+
*
|
353
|
+
* As soon as this class is used, it requires the 'bigdecimal' gem.
|
348
354
|
*/
|
349
355
|
static int
|
350
356
|
pg_text_enc_numeric(t_pg_coder *this, VALUE value, char *out, VALUE *intermediate, int enc_idx)
|
data/lib/3.1/pg_ext.so
CHANGED
Binary file
|
data/lib/3.2/pg_ext.so
CHANGED
Binary file
|
data/lib/3.3/pg_ext.so
CHANGED
Binary file
|
@@ -278,6 +278,7 @@ class PG::BasicTypeRegistry
|
|
278
278
|
register_type 0, 'inet', PG::TextEncoder::Inet, PG::TextDecoder::Inet
|
279
279
|
alias_type 0, 'cidr', 'inet'
|
280
280
|
|
281
|
+
register_type 0, 'record', PG::TextEncoder::Record, PG::TextDecoder::Record
|
281
282
|
|
282
283
|
|
283
284
|
register_type 1, 'int2', PG::BinaryEncoder::Int2, PG::BinaryDecoder::Integer
|
data/lib/pg/connection.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'pg' unless defined?( PG )
|
5
|
-
require 'io/wait' unless ::IO.public_instance_methods(false).include?(:wait_readable)
|
5
|
+
require 'io/wait' unless ::IO.public_instance_methods(false).include?(:wait_readable) # for ruby < 3.0
|
6
6
|
require 'socket'
|
7
7
|
|
8
8
|
# The PostgreSQL connection class. The interface for this class is based on
|
@@ -117,7 +117,7 @@ class PG::Connection
|
|
117
117
|
return str
|
118
118
|
end
|
119
119
|
|
120
|
-
BinarySignature = "PGCOPY\n\377\r\n\0"
|
120
|
+
BinarySignature = "PGCOPY\n\377\r\n\0"
|
121
121
|
private_constant :BinarySignature
|
122
122
|
|
123
123
|
# call-seq:
|
@@ -166,9 +166,9 @@ class PG::Connection
|
|
166
166
|
# conn.put_copy_data ['more', 'data', 'to', 'copy']
|
167
167
|
# end
|
168
168
|
#
|
169
|
-
|
170
|
-
|
171
|
-
|
169
|
+
# All 4 CopyRow classes can take a type map to specify how the columns are mapped to and from the database format.
|
170
|
+
# For details see the particular CopyRow class description.
|
171
|
+
#
|
172
172
|
# PG::BinaryEncoder::CopyRow can be used to send data in binary format to the server.
|
173
173
|
# In this case copy_data generates the header and trailer data automatically:
|
174
174
|
# enco = PG::BinaryEncoder::CopyRow.new
|
@@ -573,7 +573,9 @@ class PG::Connection
|
|
573
573
|
# Resets the backend connection. This method closes the
|
574
574
|
# backend connection and tries to re-connect.
|
575
575
|
def reset
|
576
|
-
|
576
|
+
# Use connection options from PG::Connection.new to reconnect with the same options but with renewed DNS resolution.
|
577
|
+
# Use conninfo_hash as a fallback when connect_start was used to create the connection object.
|
578
|
+
iopts = @iopts_for_reset || conninfo_hash.compact
|
577
579
|
if iopts[:host] && !iopts[:host].empty? && PG.library_version >= 100000
|
578
580
|
iopts = self.class.send(:resolve_hosts, iopts)
|
579
581
|
end
|
@@ -651,8 +653,6 @@ class PG::Connection
|
|
651
653
|
# Track the progress of the connection, waiting for the socket to become readable/writable before polling it
|
652
654
|
|
653
655
|
if (timeo = conninfo_hash[:connect_timeout].to_i) && timeo > 0
|
654
|
-
# Lowest timeout is 2 seconds - like in libpq
|
655
|
-
timeo = [timeo, 2].max
|
656
656
|
host_count = conninfo_hash[:host].to_s.count(",") + 1
|
657
657
|
stop_time = timeo * host_count + Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
658
658
|
end
|
@@ -825,6 +825,7 @@ class PG::Connection
|
|
825
825
|
iopts = PG::Connection.conninfo_parse(option_string).each_with_object({}){|h, o| o[h[:keyword].to_sym] = h[:val] if h[:val] }
|
826
826
|
iopts = PG::Connection.conndefaults.each_with_object({}){|h, o| o[h[:keyword].to_sym] = h[:val] if h[:val] }.merge(iopts)
|
827
827
|
|
828
|
+
iopts_for_reset = iopts
|
828
829
|
if iopts[:hostaddr]
|
829
830
|
# hostaddr is provided -> no need to resolve hostnames
|
830
831
|
|
@@ -838,6 +839,8 @@ class PG::Connection
|
|
838
839
|
|
839
840
|
raise PG::ConnectionBad, conn.error_message if conn.status == PG::CONNECTION_BAD
|
840
841
|
|
842
|
+
# save the connection options for conn.reset
|
843
|
+
conn.instance_variable_set(:@iopts_for_reset, iopts_for_reset)
|
841
844
|
conn.send(:async_connect_or_reset, :connect_poll)
|
842
845
|
conn
|
843
846
|
end
|
data/lib/pg/text_decoder/date.rb
CHANGED
@@ -5,6 +5,9 @@ require 'date'
|
|
5
5
|
|
6
6
|
module PG
|
7
7
|
module TextDecoder
|
8
|
+
# This is a decoder class for conversion of PostgreSQL date type to Ruby Date values.
|
9
|
+
#
|
10
|
+
# As soon as this class is used, it requires the ruby standard library 'date'.
|
8
11
|
class Date < SimpleDecoder
|
9
12
|
def decode(string, tuple=nil, field=nil)
|
10
13
|
if string =~ /\A(\d{4})-(\d\d)-(\d\d)\z/
|
data/lib/pg/text_decoder/json.rb
CHANGED
@@ -5,6 +5,9 @@ require 'json'
|
|
5
5
|
|
6
6
|
module PG
|
7
7
|
module TextDecoder
|
8
|
+
# This is a decoder class for conversion of PostgreSQL JSON/JSONB type to Ruby Hash, Array, String, Numeric, nil values.
|
9
|
+
#
|
10
|
+
# As soon as this class is used, it requires the ruby standard library 'json'.
|
8
11
|
class JSON < SimpleDecoder
|
9
12
|
def decode(string, tuple=nil, field=nil)
|
10
13
|
::JSON.parse(string, quirks_mode: true)
|
data/lib/pg/text_encoder/date.rb
CHANGED
data/lib/pg/text_encoder/inet.rb
CHANGED
@@ -5,6 +5,9 @@ require 'ipaddr'
|
|
5
5
|
|
6
6
|
module PG
|
7
7
|
module TextEncoder
|
8
|
+
# This is a encoder class for conversion of Ruby IPAddr values to PostgreSQL inet type.
|
9
|
+
#
|
10
|
+
# As soon as this class is used, it requires the ruby standard library 'ipaddr'.
|
8
11
|
class Inet < SimpleEncoder
|
9
12
|
def encode(value)
|
10
13
|
case value
|
data/lib/pg/text_encoder/json.rb
CHANGED
@@ -5,6 +5,9 @@ require 'json'
|
|
5
5
|
|
6
6
|
module PG
|
7
7
|
module TextEncoder
|
8
|
+
# This is a encoder class for conversion of Ruby Hash, Array, String, Numeric, nil values to PostgreSQL JSON/JSONB type.
|
9
|
+
#
|
10
|
+
# As soon as this class is used, it requires the ruby standard library 'json'.
|
8
11
|
class JSON < SimpleEncoder
|
9
12
|
def encode(value)
|
10
13
|
::JSON.generate(value, quirks_mode: true)
|
data/lib/pg/version.rb
CHANGED
Binary file
|
data/pg.gemspec
CHANGED
@@ -23,7 +23,9 @@ 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
|
26
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
27
|
+
f.match(%r{\A(?:test|spec|features|translation|\.)})
|
28
|
+
end
|
27
29
|
end
|
28
30
|
spec.extensions = ["ext/extconf.rb"]
|
29
31
|
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.9
|
5
5
|
platform: x64-mingw-ucrt
|
6
6
|
authors:
|
7
7
|
- Michael Granger
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
5wFER6XhvvLDFAMh/jMg+s7Wd5SbSHgHNSUaUGVtdWkVPOer6oF0aLdZUR3CETkn
|
35
35
|
5nWXZma/BUd3YgYA/Xumc6QQqIS4p7mr
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2024-
|
37
|
+
date: 2024-10-24 00:00:00.000000000 Z
|
38
38
|
dependencies: []
|
39
39
|
description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL
|
40
40
|
9.3 and later.
|
@@ -100,18 +100,6 @@ extra_rdoc_files:
|
|
100
100
|
- lib/pg/type_map_by_column.rb
|
101
101
|
- lib/pg/version.rb
|
102
102
|
files:
|
103
|
-
- ".appveyor.yml"
|
104
|
-
- ".gems"
|
105
|
-
- ".gemtest"
|
106
|
-
- ".github/workflows/binary-gems.yml"
|
107
|
-
- ".github/workflows/source-gem.yml"
|
108
|
-
- ".gitignore"
|
109
|
-
- ".hgsigs"
|
110
|
-
- ".hgtags"
|
111
|
-
- ".irbrc"
|
112
|
-
- ".pryrc"
|
113
|
-
- ".tm_properties"
|
114
|
-
- ".travis.yml"
|
115
103
|
- BSDL
|
116
104
|
- Contributors.rdoc
|
117
105
|
- Gemfile
|
metadata.gz.sig
CHANGED
Binary file
|
data/.appveyor.yml
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
image: Visual Studio 2022
|
2
|
-
|
3
|
-
init:
|
4
|
-
- set PATH=C:/Ruby%ruby_version%/bin;c:/Program Files/Git/cmd;c:/Windows/system32;C:/Windows/System32/WindowsPowerShell/v1.0;C:/Program Files/Mercurial
|
5
|
-
- set RUBYOPT=--verbose
|
6
|
-
install:
|
7
|
-
- ps: |
|
8
|
-
if ($env:RUBYDOWNLOAD -ne $null) {
|
9
|
-
$(new-object net.webclient).DownloadFile("https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-$env:RUBYDOWNLOAD.exe", "$pwd/ruby-setup.exe")
|
10
|
-
cmd /c ruby-setup.exe /currentuser /verysilent /dir=C:/Ruby$env:ruby_version
|
11
|
-
}
|
12
|
-
- cmd: |
|
13
|
-
ridk enable
|
14
|
-
c:/msys64/usr/bin/bash -lc "pacman -S --noconfirm --needed ${MINGW_PACKAGE_PREFIX}-pkgconf ${MINGW_PACKAGE_PREFIX}-libyaml ${MINGW_PACKAGE_PREFIX}-gcc"
|
15
|
-
- ruby --version
|
16
|
-
- gem --version
|
17
|
-
- gem install bundler --conservative
|
18
|
-
- bundle install
|
19
|
-
- ps: |
|
20
|
-
if ($env:PGVERSION -ne $null)
|
21
|
-
{
|
22
|
-
$(new-object net.webclient).DownloadFile('http://get.enterprisedb.com/postgresql/postgresql-' + $env:PGVERSION + '.exe', 'C:/postgresql-setup.exe')
|
23
|
-
cmd /c "C:/postgresql-setup.exe" --mode unattended --extract-only 1
|
24
|
-
|
25
|
-
$env:PATH = 'C:/Program Files/PostgreSQL/' + $env:PGVER + '/bin;' + $env:PATH
|
26
|
-
$env:PATH = 'C:/Program Files (x86)/PostgreSQL/' + $env:PGVER + '/bin;' + $env:PATH
|
27
|
-
} else {
|
28
|
-
c:/msys64/usr/bin/bash -lc "pacman -S --noconfirm --needed `${MINGW_PACKAGE_PREFIX}-postgresql"
|
29
|
-
}
|
30
|
-
- echo %PATH%
|
31
|
-
- pg_config
|
32
|
-
build_script:
|
33
|
-
- bundle exec rake -rdevkit compile --trace
|
34
|
-
test_script:
|
35
|
-
- bundle exec rake test PG_DEBUG=0
|
36
|
-
on_failure:
|
37
|
-
- find -name mkmf.log | xargs cat
|
38
|
-
environment:
|
39
|
-
matrix:
|
40
|
-
- ruby_version: "head"
|
41
|
-
RUBYDOWNLOAD: x64
|
42
|
-
- ruby_version: "30-x64"
|
data/.gems
DELETED
data/.gemtest
DELETED
File without changes
|
@@ -1,117 +0,0 @@
|
|
1
|
-
name: Binary gems
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
pull_request:
|
6
|
-
workflow_dispatch:
|
7
|
-
schedule:
|
8
|
-
- cron: "0 5 * * 3" # At 05:00 on Wednesday # https://crontab.guru/#0_5_*_*_3
|
9
|
-
|
10
|
-
jobs:
|
11
|
-
job_build_x64:
|
12
|
-
name: Build
|
13
|
-
runs-on: ubuntu-latest
|
14
|
-
strategy:
|
15
|
-
fail-fast: false
|
16
|
-
matrix:
|
17
|
-
include:
|
18
|
-
- platform: "x64-mingw-ucrt"
|
19
|
-
- platform: "x64-mingw32"
|
20
|
-
- platform: "x86-mingw32"
|
21
|
-
steps:
|
22
|
-
- uses: actions/checkout@v3
|
23
|
-
- name: Set up Ruby
|
24
|
-
uses: ruby/setup-ruby@v1
|
25
|
-
with:
|
26
|
-
ruby-version: "3.3"
|
27
|
-
- run: bundle install
|
28
|
-
|
29
|
-
- name: Create a dummy cert to satisfy the build
|
30
|
-
run: |
|
31
|
-
mkdir -p ~/.gem/
|
32
|
-
ruby -ropenssl -e "puts OpenSSL::PKey::RSA.new(2048).to_pem" > ~/.gem/gem-private_key.pem
|
33
|
-
gem cert --build travis-ci@dummy.org --private-key ~/.gem/gem-private_key.pem
|
34
|
-
cp gem-public_cert.pem ~/.gem/gem-public_cert.pem
|
35
|
-
|
36
|
-
- name: Build binary gem
|
37
|
-
run: bundle exec rake gem:windows:${{ matrix.platform }}
|
38
|
-
|
39
|
-
- name: Upload binary gem
|
40
|
-
uses: actions/upload-artifact@v3
|
41
|
-
with:
|
42
|
-
name: binary-gem
|
43
|
-
path: pkg/*.gem
|
44
|
-
|
45
|
-
job_test_binary:
|
46
|
-
name: Test
|
47
|
-
needs: job_build_x64
|
48
|
-
strategy:
|
49
|
-
fail-fast: false
|
50
|
-
matrix:
|
51
|
-
include:
|
52
|
-
- os: windows-latest
|
53
|
-
ruby: "3.3"
|
54
|
-
platform: "x64-mingw-ucrt"
|
55
|
-
PGVERSION: 16.0-1-windows-x64
|
56
|
-
- os: windows-latest
|
57
|
-
ruby: "3.1.4-1"
|
58
|
-
platform: "x86-mingw32"
|
59
|
-
PGVERSION: 10.20-1-windows
|
60
|
-
- os: windows-latest
|
61
|
-
ruby: "2.5"
|
62
|
-
platform: "x64-mingw32"
|
63
|
-
PGVERSION: 10.20-1-windows
|
64
|
-
|
65
|
-
runs-on: ${{ matrix.os }}
|
66
|
-
env:
|
67
|
-
PGVERSION: ${{ matrix.PGVERSION }}
|
68
|
-
steps:
|
69
|
-
- uses: actions/checkout@v3
|
70
|
-
- name: Set up Ruby
|
71
|
-
if: matrix.platform != 'x86-mingw32'
|
72
|
-
uses: ruby/setup-ruby@v1
|
73
|
-
with:
|
74
|
-
ruby-version: ${{ matrix.ruby }}
|
75
|
-
|
76
|
-
- name: Set up 32 bit x86 Ruby
|
77
|
-
if: matrix.platform == 'x86-mingw32'
|
78
|
-
run: |
|
79
|
-
$(new-object net.webclient).DownloadFile("https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-${{ matrix.ruby }}/rubyinstaller-${{ matrix.ruby }}-x86.exe", "$pwd/ruby-setup.exe")
|
80
|
-
cmd /c ruby-setup.exe /currentuser /verysilent /dir=C:/Ruby-${{ matrix.ruby }}
|
81
|
-
echo "c:/ruby-${{ matrix.ruby }}/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
82
|
-
|
83
|
-
c:/ruby-${{ matrix.ruby }}/bin/ridk enable
|
84
|
-
c:/msys64/usr/bin/bash -lc "pacman -S --noconfirm --needed make `${MINGW_PACKAGE_PREFIX}-pkgconf `${MINGW_PACKAGE_PREFIX}-libyaml `${MINGW_PACKAGE_PREFIX}-gcc `${MINGW_PACKAGE_PREFIX}-make"
|
85
|
-
echo "C:/msys64/$env:MSYSTEM_PREFIX/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
86
|
-
|
87
|
-
- name: Download gem from build job
|
88
|
-
uses: actions/download-artifact@v3
|
89
|
-
with:
|
90
|
-
name: binary-gem
|
91
|
-
|
92
|
-
- name: Download PostgreSQL
|
93
|
-
run: |
|
94
|
-
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
95
|
-
function Unzip {
|
96
|
-
param([string]$zipfile, [string]$outpath)
|
97
|
-
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
|
98
|
-
}
|
99
|
-
|
100
|
-
$(new-object net.webclient).DownloadFile("http://get.enterprisedb.com/postgresql/postgresql-$env:PGVERSION-binaries.zip", "postgresql-binaries.zip")
|
101
|
-
Unzip "postgresql-binaries.zip" "."
|
102
|
-
echo "$pwd/pgsql/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
103
|
-
echo "PGUSER=$env:USERNAME" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
104
|
-
echo "PGPASSWORD=" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
105
|
-
|
106
|
-
- run: echo $env:PATH
|
107
|
-
- run: gem update --system 3.3.26
|
108
|
-
- run: bundle install
|
109
|
-
- run: gem install --local pg-*${{ matrix.platform }}.gem --verbose
|
110
|
-
- name: Run specs
|
111
|
-
run: ruby -rpg -S rspec -fd spec/**/*_spec.rb
|
112
|
-
|
113
|
-
- name: Print logs if job failed
|
114
|
-
if: ${{ failure() && matrix.os == 'windows-latest' }}
|
115
|
-
run: |
|
116
|
-
ridk enable
|
117
|
-
find "$(ruby -e"puts RbConfig::CONFIG[%q[libdir]]")" -name mkmf.log -print0 | xargs -0 cat
|
@@ -1,144 +0,0 @@
|
|
1
|
-
name: Source gem
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
pull_request:
|
6
|
-
workflow_dispatch:
|
7
|
-
schedule:
|
8
|
-
- cron: "0 5 * * 3" # At 05:00 on Wednesday # https://crontab.guru/#0_5_*_*_3
|
9
|
-
|
10
|
-
jobs:
|
11
|
-
job_build_gem:
|
12
|
-
name: Build
|
13
|
-
runs-on: ubuntu-latest
|
14
|
-
steps:
|
15
|
-
- uses: actions/checkout@v3
|
16
|
-
- name: Set up Ruby
|
17
|
-
uses: ruby/setup-ruby@v1
|
18
|
-
with:
|
19
|
-
ruby-version: "3.2"
|
20
|
-
|
21
|
-
- name: Build source gem
|
22
|
-
run: gem build pg.gemspec
|
23
|
-
|
24
|
-
- name: Upload source gem
|
25
|
-
uses: actions/upload-artifact@v3
|
26
|
-
with:
|
27
|
-
name: source-gem
|
28
|
-
path: "*.gem"
|
29
|
-
|
30
|
-
job_test_gem:
|
31
|
-
name: Test
|
32
|
-
needs: job_build_gem
|
33
|
-
strategy:
|
34
|
-
fail-fast: false
|
35
|
-
matrix:
|
36
|
-
include:
|
37
|
-
- os: windows
|
38
|
-
ruby: "head"
|
39
|
-
PGVERSION: 16.0-1-windows-x64
|
40
|
-
PGVER: "16"
|
41
|
-
- os: windows
|
42
|
-
ruby: "2.5"
|
43
|
-
PGVERSION: 9.4.26-1-windows-x64
|
44
|
-
PGVER: "9.4"
|
45
|
-
- os: windows
|
46
|
-
ruby: "mswin"
|
47
|
-
PGVERSION: 16.0-1-windows-x64
|
48
|
-
PGVER: "16"
|
49
|
-
- os: ubuntu
|
50
|
-
ruby: "head"
|
51
|
-
PGVER: "16"
|
52
|
-
- os: ubuntu
|
53
|
-
ruby: "3.2"
|
54
|
-
PGVER: "12"
|
55
|
-
- os: ubuntu
|
56
|
-
os_ver: "20.04"
|
57
|
-
ruby: "2.5"
|
58
|
-
PGVER: "9.3"
|
59
|
-
- os: ubuntu
|
60
|
-
ruby: "truffleruby"
|
61
|
-
PGVER: "13"
|
62
|
-
- os: ubuntu
|
63
|
-
ruby: "truffleruby-head"
|
64
|
-
PGVER: "16"
|
65
|
-
- os: macos
|
66
|
-
ruby: "head"
|
67
|
-
PGVERSION: 16.0-1-osx
|
68
|
-
PGVER: "16"
|
69
|
-
|
70
|
-
runs-on: ${{ matrix.os }}-${{ matrix.os_ver || 'latest' }}
|
71
|
-
env:
|
72
|
-
PGVERSION: ${{ matrix.PGVERSION }}
|
73
|
-
PGVER: ${{ matrix.PGVER }}
|
74
|
-
MAKE: make -j2 V=1
|
75
|
-
|
76
|
-
steps:
|
77
|
-
- uses: actions/checkout@v3
|
78
|
-
- name: Set up Ruby
|
79
|
-
uses: ruby/setup-ruby@v1
|
80
|
-
with:
|
81
|
-
ruby-version: ${{ matrix.ruby }}
|
82
|
-
|
83
|
-
- name: Download gem from build job
|
84
|
-
uses: actions/download-artifact@v3
|
85
|
-
with:
|
86
|
-
name: source-gem
|
87
|
-
|
88
|
-
- name: Install required packages Windows
|
89
|
-
if: matrix.os == 'windows' && matrix.ruby != 'mswin'
|
90
|
-
shell: cmd
|
91
|
-
run: ridk exec sh -c "pacman --sync --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc"
|
92
|
-
|
93
|
-
- name: Download PostgreSQL Windows
|
94
|
-
if: matrix.os == 'windows'
|
95
|
-
run: |
|
96
|
-
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
97
|
-
function Unzip {
|
98
|
-
param([string]$zipfile, [string]$outpath)
|
99
|
-
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
|
100
|
-
}
|
101
|
-
|
102
|
-
$(new-object net.webclient).DownloadFile("http://get.enterprisedb.com/postgresql/postgresql-$env:PGVERSION-binaries.zip", "postgresql-binaries.zip")
|
103
|
-
Unzip "postgresql-binaries.zip" "."
|
104
|
-
echo "$pwd/pgsql/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
105
|
-
echo "PGUSER=$env:USERNAME" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
106
|
-
echo "PGPASSWORD=" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
107
|
-
|
108
|
-
- name: Download PostgreSQL Ubuntu
|
109
|
-
if: matrix.os == 'ubuntu'
|
110
|
-
run: |
|
111
|
-
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PGVER" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
|
112
|
-
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
113
|
-
sudo apt-get -y update
|
114
|
-
sudo apt-get -y --allow-downgrades install postgresql-$PGVER libpq5=$PGVER* libpq-dev=$PGVER*
|
115
|
-
echo /usr/lib/postgresql/$PGVER/bin >> $GITHUB_PATH
|
116
|
-
|
117
|
-
- name: Download PostgreSQL Macos
|
118
|
-
if: matrix.os == 'macos'
|
119
|
-
run: |
|
120
|
-
wget https://get.enterprisedb.com/postgresql/postgresql-$PGVERSION-binaries.zip && \
|
121
|
-
sudo mkdir -p /Library/PostgreSQL && \
|
122
|
-
sudo unzip postgresql-$PGVERSION-binaries.zip -d /Library/PostgreSQL/$PGVER && \
|
123
|
-
sudo mv /Library/PostgreSQL/$PGVER/pgsql/* /Library/PostgreSQL/$PGVER/ && \
|
124
|
-
echo /Library/PostgreSQL/$PGVER/bin >> $GITHUB_PATH
|
125
|
-
|
126
|
-
- run: gem update --system 3.3.26
|
127
|
-
- run: bundle install
|
128
|
-
|
129
|
-
- run: gem install --local *.gem --verbose
|
130
|
-
|
131
|
-
- name: Run specs
|
132
|
-
env:
|
133
|
-
PG_DEBUG: 0
|
134
|
-
# Temprary fix only for Truffleruby-24.0.0:
|
135
|
-
TRUFFLERUBYOPT: --experimental-options --keep-handles-alive
|
136
|
-
run: ruby -rpg -S rspec spec/**/*_spec.rb -cfdoc
|
137
|
-
|
138
|
-
- name: Print logs if job failed
|
139
|
-
if: ${{ failure() && matrix.os == 'windows' }}
|
140
|
-
run: ridk exec cat tmp_test_specs/*.log
|
141
|
-
|
142
|
-
- name: Print logs if job failed
|
143
|
-
if: ${{ failure() && matrix.os != 'windows' }}
|
144
|
-
run: cat tmp_test_specs/*.log
|
data/.gitignore
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
*.lock
|
2
|
-
*.orig
|
3
|
-
*_BACKUP_*
|
4
|
-
*_BASE_*
|
5
|
-
*_LOCAL_*
|
6
|
-
*_REMOTE_*
|
7
|
-
/.test_symlink
|
8
|
-
/build/
|
9
|
-
/ext/Makefile
|
10
|
-
/ext/mkmf.log
|
11
|
-
/ext/postgresql_lib_path.rb
|
12
|
-
/doc/
|
13
|
-
/lib/*.bundle
|
14
|
-
/lib/*.so
|
15
|
-
/lib/2.?/
|
16
|
-
/lib/3.?/
|
17
|
-
/pkg/
|
18
|
-
/tmp/
|
19
|
-
/tmp_test_*/
|
20
|
-
/vendor/
|
21
|
-
/lib/libpq.dll
|
22
|
-
/lib/pg/postgresql_lib_path.rb
|
data/.hgsigs
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
872063e42b129af10539f73b3c083ad8a031f961 0 iEYEABECAAYFAkuKoCoACgkQ+zlz4UKpE6QzewCgrFcSsAwju/KpZ8myuWexlcSbe04AmwWCbf4HM95tDXdFvsvzeegPg8AS
|
2
|
-
3993015a841e43c9cd9d1321819cbf5e74264f1d 0 iEYEABECAAYFAkz2ycMACgkQ+zlz4UKpE6SYjQCgi/1Ik2rntK2dU93Hb91wYh0Yv4sAoKxEXVuXaEIAiwB4vSQ/7JQGIBzM
|
3
|
-
230ea3e68db2360548097542c4856dec4c3cd97a 0 iEYEABECAAYFAk03CpAACgkQ+zlz4UKpE6SPAgCfbRwKmAgHTmrudSoC09c37Tuyff0AnRHrSaqKhiCO7KlX5UJq6x0ttoKH
|
4
|
-
24aa7899c6966ce349c8e4f2a87b17c3e943ff56 0 iEYEABECAAYFAk2s1wQACgkQ+zlz4UKpE6SkLQCdHOS5yxoUFguEo885HkDyOZg4Y7wAoMVofhwOUHVQ6djXr0hgAmahI1lW
|
5
|
-
19b551f972e27dcfa281b92914e2a98661243206 0 iEYEABECAAYFAk7f51sACgkQ+zlz4UKpE6RkYACg0WZjt1crbi72DQYs3kYKSYRflNYAnA80+VVwmMUQiWuFuQ+7gbiUPCyY
|
6
|
-
f72b14d349bf385c769aacfddbea7a0e60ff5e9e 0 iEYEABECAAYFAk8CFCIACgkQ+zlz4UKpE6QbYACgyLQwHPQH50sGVgzTD3y13XKwi38AoIrF5zSOiMXAeL+sk++iwDYV4ddW
|
7
|
-
f3dfdb6929b70ddd3bb952757bdfb199e6916245 0 iEYEABECAAYFAk8Di+MACgkQ+zlz4UKpE6TVvwCg+ibuW22lRdnOIrRF2V4am7b4YxYAn0bDEnP93JX6qKAaU8kcoCrTKDXp
|
8
|
-
b67309d3ccf2f9de56535e01f58c7af994426827 0 iEYEABECAAYFAk8iJKkACgkQ+zlz4UKpE6SjUQCgpItY5hW5NyVkfL5+nkRhJqaetQMAoJQQkNPL2jQLgJREfj3PtMBbn2VG
|
9
|
-
0e7f0c2451e55855b4a90efce8db0cafbf04b26f 0 iEYEABECAAYFAk8kb0cACgkQ+zlz4UKpE6RpxgCfQDV3zq2N+zle1XLKoXGMr7EK19IAnR3llz7WPf2j9lqXdZjw4xtl0XBk
|
10
|
-
9c262b875047f9acfedb63396a262ab5a5b101ca 0 iEYEABECAAYFAk80EvkACgkQ+zlz4UKpE6SUHQCeJuJMb8+k8ynIDPSmcKHL/a5gD6AAoPXMns9HF2c3XwtS1CMRf6rcZp3e
|
11
|
-
1ba641824000abbf1b22000772815c24e9b5f6d9 0 iEYEABECAAYFAk84LSUACgkQ+zlz4UKpE6RlPQCgiGZbYJFbeWEAdehVUrIZdU7sRe4AoOgESbvEWynP4X0OKbvdC9rLchYl
|
12
|
-
41e071bdd6ed970887d4ed4da59fdfa62003c39e 0 iEYEABECAAYFAk9FXikACgkQ+zlz4UKpE6TB8ACgt/VSo/kJMg9UVLKd5UUPBPjbgOIAn0DJuOla9GF85mW74sEkCOqE6Ada
|
13
|
-
a45710f8db303c400200017242589562936fcf1b 0 iEYEABECAAYFAk/l/kgACgkQ+zlz4UKpE6QCkwCg049BpW4kSvaKuICyvKokeoXbNiAAoPWAaiDuK6xjZhqGSuuGVWMmCRwk
|
14
|
-
52d22b060501ab90a89b3a758aca8ce70ad05231 0 iEYEABECAAYFAlBDfn8ACgkQ+zlz4UKpE6R3GACgzLiZ+fyM4Hx8/Qp9fyWF+mHk4FQAn3P3Y06AHadVvKwyksrAgKk/33LV
|
15
|
-
384fcbc92366ca0108b6c0984d861ffef2d38570 0 iEYEABECAAYFAlFRsM4ACgkQ+zlz4UKpE6TYXgCgksacYvWJ5dhx9oYFRR+oSH6wPgwAoJ3QO01zfiDbBz6Z9Mxy7tNi3jx6
|
16
|
-
0bfb6ff650be2d003af3d0fc6c75be16369605e1 0 iEYEABECAAYFAlFjCYkACgkQ+zlz4UKpE6RldACg77Rp2I4vYUXpFakUrYq6uSfPLLQAn266JL6CiQG44cSroW+Mgz4CZgJn
|
17
|
-
4e0606f5f5aab87855860a3eeaf4c9eaaea77f09 0 iEYEABECAAYFAlHuizwACgkQ+zlz4UKpE6QphACg4FNFwvVju9wk6PC6vwkY8cZRtvkAn1nDR0pbto9xMdMUqhJxOc5Dqisr
|
18
|
-
eed93df350a6cc657d5151bd3aa29ab427fba7cc 0 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
-
22d57e3a2b378a34675982a77e6daa643f38fa6e 0 iEYEABECAAYFAlKyO9QACgkQ+zlz4UKpE6QO/wCfWabZRMDkk/vNME1LK1cHCp4oOtMAoORYSAU8OTOxjhPW3IGDMFShHKHv
|
20
|
-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
-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
-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
-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
-
da42b972b5ab3381b41a3a63cc2a65b42e5caa05 0 iQIcBAABAgAGBQJWRjUaAAoJEGE7GvLhImG9gFUP/34+eviBFlK2TPDBAp/AQz8aQp4dcPBZ9S5JCCXW1c2YE+UL6X7MpkRR3t/eXrzBJFSgiXmB+TzTkfz1DsFKKoAXymq5hP5AIf+5dpkvL+JH24f/+Jzv3qaNWYqJbUNYajy+GXMI8OGwmQ7x3EtynJmYpMVWdgtjcfCRGVRw38Zun+ePiluI83K/I52RptZenhcQP9I7wehdUtCp8bH7LX1nbeHH/HDY5OmkN22HkFzkPPLjYFgAzNfciZMI7bmxmTbLZ1wqGFyTHjGONEiKPW8vgnMK26QXm+/+DkPkg0RwqeA4oUwlT5+8m/pBlzJBY+Boz0+ffCBxpHOSto04hP2rCcBd1hihr6OWtZiZJ1S/YMsKW4vnZoIBVDr+z7fAOaLkZ6GX580BtoVH3Etr7/727ebaWYQfPknlAPn6lkO271/+r8X8GlTqxqlF/gvq5baqCLXvdjIgUgJAseuf4RWsSef+GxMaC/w9cScoqnr/v3DAcTKPY4FdomDUlEp/3HcjzothsXIDifrH1FhX0NjPzAMMvQm+jOsZWF7Z0ipfsPQGjx7enOdsUiUQzU+pYxiIZHdZ2vpkALFB8VhRB8QoO0hnyORLVrSqYHNQ+UdcV2lwwThi6qVfLjT0gKuxCG2e2u3pGvv28iW7nk7SYFCpHCRtaEpZh+4VDa8GPAOj
|
25
|
-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
-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
-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
-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
-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
-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
-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
-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
-
6f611e78845adc38eac1fffe4793bea2d52bf099 0 iQIzBAABCAAdFiEEoYl52o0gA4yRUmHQ4yEXIpU5F6MFAluRxokACgkQ4yEXIpU5F6Np6w/8D4R+QDUJN4mPGlbQNOSB8ew6do1ixP+uMZtMTgltYtbX+Uf9vNgCM+rmy0Tb+HjkMeNy47YZXaobfZ7ejmT/pFt9WXEr90mADAwrWcbqCCKC9OVmQG3tQQT2BGqxKsaB3t0s2+tNBGXs5o7AzHjqzain1nBe19y29EzpWfYusRA+exvIYWk8hf1JpY0wAaNIVBKdALSNcR/t0msHJRBkn2UxB+0e5te+A09atd0K1sXp9qii4WvGZBGJtpiFVK8Ayk+7Q2/RxqYoyJoIR2xcoZTA2e1no4uRjXa0ZTphPQpsDEJEwAQ5ymsFTtWPapWoJIgeyGopPckR85GT3c7MgkOGLLCJs1lKeQGWevjWquHV4lP3NZr4tmnKC9BHoqc16tlBbtbuaPXyGRkBP4ROn3NIm8rftixDGQtTZwlaNzJ8OoXCqj5PzTMUO8zbgVv9QrEHAcpxB+j+tINB5kdc4vICH2zoe0J7jK32ynwY9JH36cg8GVLkNIwzYWP5GKmeFm1GQKvv7Ptqfa4rTPKDy2G1/yTCwrzpg5vRNy+7ouhHRrVAxEaIvehdoYs+3K+SwGzgk0RoL0sw0n54zv/svTtIugO1inE9tKA31cuPujIcIrWPthHBY7bSPO18HGyoHkOcaS0rkkwQ0Ug85aBtyuFLjPUkUt4NL4kGmHOALFs=
|
34
|
-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
|
data/.hgtags
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
7fbe4187e9e53e58baf6cd7c1c21e3a3c5b920e5 0.8.0
|
2
|
-
da726282493c57b4ef8e5be1a21e98cc028fda4c 0.9.0
|
3
|
-
1822a169c4fecac402335a64a484b5dc053994a3 0.10.0
|
4
|
-
1822a169c4fecac402335a64a484b5dc053994a3 v0.10.0
|
5
|
-
1822a169c4fecac402335a64a484b5dc053994a3 0.10.0
|
6
|
-
0000000000000000000000000000000000000000 0.10.0
|
7
|
-
de10b5d8e4429d22790976ec4de89f209e882906 v0.10.1
|
8
|
-
3cb8e57c6c80737c714dd7607a144ef12074c4fe v0.11.0
|
9
|
-
da726282493c57b4ef8e5be1a21e98cc028fda4c v0.9.0
|
10
|
-
7fbe4187e9e53e58baf6cd7c1c21e3a3c5b920e5 v0.8.0
|
11
|
-
b767401684d8a4051230874b0686a54537b10e2f v0.12.0
|
12
|
-
21f84883e5c206a3f2890905af68e08a0046ba1c v0.12.1
|
13
|
-
88bd78632f86f696dd3fa8904c1d3180216378cc v0.12.2
|
14
|
-
7b2da7e0815cce834cd60f9747209923952876ec v0.13.0
|
15
|
-
9e60b2c477cde450a088161ca8f3d72b52531aaf v0.13.1
|
16
|
-
c79cd308363d614f7ba32fd86294c9aa3117c361 v0.13.2
|
17
|
-
634e0a42a1010fc1dcd279fb28506873a47090c1 v0.14.0
|
18
|
-
2d83ce956f971c3aeb145c9ad68f426e78b852dd v0.14.1
|
19
|
-
065fd1f0e9dda58557de0efb2deb138e93ba7632 v0.15.0
|
20
|
-
4692c20bcbdeadd8a31283e234464c6e1c43765d v0.15.1
|
21
|
-
def8f41a76726cf7239ff6dbaa2828a881f93451 v0.16.0
|
22
|
-
30da9c169efc3985ad0464936483c229faba0e33 v0.17.0
|
23
|
-
78846e47d87b7ed5bb7397116070692b1cfa87d7 v0.17.1
|
24
|
-
cfb2bfc0f66181e67768c4313bcce473292a0825 v0.18.0
|
25
|
-
f97dd6cb4f34da6a62c4339887249115c7c25b9c v0.18.1
|
26
|
-
22a361201fd1d387d59a066b179124694a446f38 v0.18.2
|
27
|
-
01c42c68797e724507b76056b98981cb30748a36 v0.18.3
|
28
|
-
94ef4830540d8fa74b8912118fb8065f4a6a3563 v0.18.4
|
29
|
-
94ef4830540d8fa74b8912118fb8065f4a6a3563 v0.18.4
|
30
|
-
0000000000000000000000000000000000000000 v0.18.4
|
31
|
-
0000000000000000000000000000000000000000 v0.18.4
|
32
|
-
f61127650cd00a1154c591dcde85ebac01f2be9f v0.18.4
|
33
|
-
bd2aaa2c5797de78435977a1c60e450d6f22811b v0.19.0
|
34
|
-
e5eb92cca97abc0c6fc168acfad993c2ad314589 v0.20.0
|
35
|
-
deae742eacfa985bd20f47a12a8fee6ce2e0447c v0.21.0
|
36
|
-
9a388d1023ec145cb00e6e16f3a8cabd3cc81d16 v1.0.0
|
37
|
-
319c00d9d59e24ce06493715cff2701e3a2a8990 v1.1.0
|
38
|
-
c80083c5e395451d612d43323c40317eb63bcb54 v1.1.1
|
39
|
-
f54d10c5d98fd06d6fc70896107319901ae374ae v1.1.2
|
40
|
-
c7035371f972982c1716daf61861b9dde15de03e v1.1.3
|
41
|
-
11d3487e303cf0fc6af48086f3e9c0b1c8283039 v1.1.4
|
data/.irbrc
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -*- ruby -*-
|
2
|
-
|
3
|
-
BEGIN {
|
4
|
-
require 'pathname'
|
5
|
-
require 'rbconfig'
|
6
|
-
|
7
|
-
basedir = Pathname.new( __FILE__ ).dirname.expand_path
|
8
|
-
libdir = basedir + "lib"
|
9
|
-
|
10
|
-
puts ">>> Adding #{libdir} to load path..."
|
11
|
-
$LOAD_PATH.unshift( libdir.to_s )
|
12
|
-
}
|
13
|
-
|
14
|
-
|
15
|
-
# Try to require the 'pg' library
|
16
|
-
begin
|
17
|
-
$stderr.puts "Loading pg..."
|
18
|
-
require 'pg'
|
19
|
-
rescue => e
|
20
|
-
$stderr.puts "Ack! pg library failed to load: #{e.message}\n\t" +
|
21
|
-
e.backtrace.join( "\n\t" )
|
22
|
-
end
|
23
|
-
|
data/.pryrc
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -*- ruby -*-
|
2
|
-
|
3
|
-
BEGIN {
|
4
|
-
require 'pathname'
|
5
|
-
require 'rbconfig'
|
6
|
-
|
7
|
-
basedir = Pathname.new( __FILE__ ).dirname.expand_path
|
8
|
-
libdir = basedir + "lib"
|
9
|
-
|
10
|
-
puts ">>> Adding #{libdir} to load path..."
|
11
|
-
$LOAD_PATH.unshift( libdir.to_s )
|
12
|
-
}
|
13
|
-
|
14
|
-
|
15
|
-
# Try to require the 'pg' library
|
16
|
-
begin
|
17
|
-
$stderr.puts "Loading pg..."
|
18
|
-
require 'pg'
|
19
|
-
rescue => e
|
20
|
-
$stderr.puts "Ack! pg library failed to load: #{e.message}\n\t" +
|
21
|
-
e.backtrace.join( "\n\t" )
|
22
|
-
end
|
23
|
-
|
data/.tm_properties
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# Settings
|
2
|
-
projectDirectory = "$CWD"
|
3
|
-
windowTitle = "${CWD/^.*\///} «$TM_DISPLAYNAME»"
|
4
|
-
excludeInFileChooser = {$exclude,.hg}
|
5
|
-
exclude = {$exclude,tmp,tmp_test_specs}
|
6
|
-
|
7
|
-
TM_MAKE = 'rake'
|
8
|
-
TM_MAKE_FILE = '${projectDirectory}/Rakefile'
|
9
|
-
|
10
|
-
[ source ]
|
11
|
-
softTabs = false
|
12
|
-
tabSize = 4
|
13
|
-
|
14
|
-
[ source.ruby ]
|
15
|
-
softTabs = false
|
16
|
-
tabSize = 4
|
17
|
-
|
18
|
-
[ source.ruby.rspec ]
|
19
|
-
softTabs = false
|
20
|
-
tabSize = 4
|
21
|
-
|
data/.travis.yml
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
sudo: required
|
2
|
-
dist: focal
|
3
|
-
services:
|
4
|
-
- docker
|
5
|
-
language: ruby
|
6
|
-
matrix:
|
7
|
-
include:
|
8
|
-
# i386: Intel 32-bit
|
9
|
-
- name: i386
|
10
|
-
|
11
|
-
language: generic
|
12
|
-
env:
|
13
|
-
- PGPATH="/usr/lib/postgresql/10/bin"
|
14
|
-
before_install: |
|
15
|
-
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes &&
|
16
|
-
docker build --rm --build-arg PGPATH="${PGPATH}" -t ruby-pg -f spec/env/Dockerfile.i386 .
|
17
|
-
script: |
|
18
|
-
docker run --rm -t --network=host ruby-pg
|
19
|
-
|
20
|
-
- rvm: "2.5"
|
21
|
-
env:
|
22
|
-
- "PGVERSION=9.3"
|
23
|
-
# Use Ubuntu-16.04 since postgresql-9.3 depends on openssl-1.0.0, which isn't available in 20.04
|
24
|
-
dist: xenial
|
25
|
-
- rvm: ruby-head
|
26
|
-
env:
|
27
|
-
- "PGVERSION=14"
|
28
|
-
- rvm: truffleruby
|
29
|
-
env:
|
30
|
-
- "PGVERSION=14"
|
31
|
-
|
32
|
-
allow_failures:
|
33
|
-
- rvm: ruby-head
|
34
|
-
fast_finish: true
|
35
|
-
|
36
|
-
before_install:
|
37
|
-
- bundle install
|
38
|
-
# Download and install postgresql version to test against in /opt (for non-cross compile only)
|
39
|
-
- echo "deb http://apt.postgresql.org/pub/repos/apt/ ${TRAVIS_DIST}-pgdg main $PGVERSION" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
|
40
|
-
- wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
41
|
-
- sudo apt-get -y update
|
42
|
-
- sudo apt-get -y --allow-downgrades install postgresql-$PGVERSION libpq5=$PGVERSION* libpq-dev=$PGVERSION*
|
43
|
-
- export PATH=/usr/lib/postgresql/$PGVERSION/bin:$PATH
|
44
|
-
|
45
|
-
script:
|
46
|
-
- bundle exec rake compile test PG_DEBUG=0
|
47
|
-
|
48
|
-
after_failure:
|
49
|
-
- "find tmp -name mkmf.log | xargs cat"
|