pg 1.4.0-x64-mingw-ucrt → 1.4.3-x64-mingw-ucrt
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +23 -1
- data/Rakefile.cross +1 -1
- data/ext/pg.c +0 -24
- data/ext/pg_connection.c +1 -0
- data/ext/pg_result.c +2 -2
- data/lib/3.1/pg_ext.so +0 -0
- data/lib/pg/connection.rb +14 -3
- data/lib/pg/exceptions.rb +1 -1
- data/lib/pg/version.rb +1 -1
- data/lib/x64-mingw-ucrt/libpq.dll +0 -0
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24cb477c8691dae6695f0b8a6b7a547d2b8bfadf16c181f63e75b6daf859397e
|
4
|
+
data.tar.gz: 1606b0631b85a5fcb9ff7a5f0d2990c5cc92932a18204b7a5d827eef8db45159
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21a22e9dd8cab1006b3a744c80f315b6215c1d0f3a109a1ec5bd951c39476f4dc3122ddeef855c7e03cb606659abd8daaba9057b49a5756e3ad0f1b65f53ae2a
|
7
|
+
data.tar.gz: cd6e45df28b45506fb88d734fe436513ecb74101eac6f02eacde29c731fbe5cccf3616d88a03343df941f8f308f8ec030b3c5ca3f896b201bd9037325c22005e
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,4 +1,26 @@
|
|
1
|
-
== v1.4.
|
1
|
+
== v1.4.3 [2022-08-09] Lars Kanis <lars@greiz-reinsdorf.de>
|
2
|
+
|
3
|
+
- Avoid memory bloat possible in put_copy_data in pg-1.4.0 to 1.4.2. #473
|
4
|
+
- Use Encoding::BINARY for JOHAB, removing some useless code. #472
|
5
|
+
|
6
|
+
|
7
|
+
== v1.4.2 [2022-07-27] Lars Kanis <lars@greiz-reinsdorf.de>
|
8
|
+
|
9
|
+
Bugfixes:
|
10
|
+
|
11
|
+
- Properly handle empty host parameter when connecting. #471
|
12
|
+
- Update Windows fat binary gem to OpenSSL-1.1.1q.
|
13
|
+
|
14
|
+
|
15
|
+
== v1.4.1 [2022-06-24] Lars Kanis <lars@greiz-reinsdorf.de>
|
16
|
+
|
17
|
+
Bugfixes:
|
18
|
+
|
19
|
+
- Fix another ruby-2.7 keyword warning. #465
|
20
|
+
- Allow PG::Error to be created without arguments. #466
|
21
|
+
|
22
|
+
|
23
|
+
== v1.4.0 [2022-06-20] Lars Kanis <lars@greiz-reinsdorf.de>
|
2
24
|
|
3
25
|
Added:
|
4
26
|
|
data/Rakefile.cross
CHANGED
@@ -31,7 +31,7 @@ class CrossLibrary < OpenStruct
|
|
31
31
|
self.host_platform = toolchain
|
32
32
|
|
33
33
|
# Cross-compilation constants
|
34
|
-
self.openssl_version = ENV['OPENSSL_VERSION'] || '1.1.
|
34
|
+
self.openssl_version = ENV['OPENSSL_VERSION'] || '1.1.1q'
|
35
35
|
self.postgresql_version = ENV['POSTGRESQL_VERSION'] || '14.4'
|
36
36
|
|
37
37
|
# Check if symlinks work in the current working directory.
|
data/ext/pg.c
CHANGED
@@ -127,26 +127,6 @@ const char * const (pg_enc_pg2ruby_mapping[][2]) = {
|
|
127
127
|
static struct st_table *enc_pg2ruby;
|
128
128
|
|
129
129
|
|
130
|
-
/*
|
131
|
-
* Look up the JOHAB encoding, creating it as a dummy encoding if it's not
|
132
|
-
* already defined.
|
133
|
-
*/
|
134
|
-
static rb_encoding *
|
135
|
-
pg_find_or_create_johab(void)
|
136
|
-
{
|
137
|
-
static const char * const aliases[] = { "JOHAB", "Windows-1361", "CP1361" };
|
138
|
-
int enc_index;
|
139
|
-
size_t i;
|
140
|
-
|
141
|
-
for (i = 0; i < sizeof(aliases)/sizeof(aliases[0]); ++i) {
|
142
|
-
enc_index = rb_enc_find_index(aliases[i]);
|
143
|
-
if (enc_index > 0) return rb_enc_from_index(enc_index);
|
144
|
-
}
|
145
|
-
|
146
|
-
enc_index = rb_define_dummy_encoding(aliases[0]);
|
147
|
-
return rb_enc_from_index(enc_index);
|
148
|
-
}
|
149
|
-
|
150
130
|
/*
|
151
131
|
* Return the given PostgreSQL encoding ID as an rb_encoding.
|
152
132
|
*
|
@@ -187,10 +167,6 @@ pg_get_pg_encname_as_rb_encoding( const char *pg_encname )
|
|
187
167
|
return rb_enc_find( pg_enc_pg2ruby_mapping[i][1] );
|
188
168
|
}
|
189
169
|
|
190
|
-
/* JOHAB isn't a builtin encoding, so make up a dummy encoding if it's seen */
|
191
|
-
if ( strncmp(pg_encname, "JOHAB", 5) == 0 )
|
192
|
-
return pg_find_or_create_johab();
|
193
|
-
|
194
170
|
/* Fallthrough to ASCII-8BIT */
|
195
171
|
return rb_ascii8bit_encoding();
|
196
172
|
}
|
data/ext/pg_connection.c
CHANGED
data/ext/pg_result.c
CHANGED
@@ -1476,10 +1476,10 @@ pgresult_stream_any(VALUE self, void (*yielder)(VALUE, int, int, void*), void* d
|
|
1476
1476
|
|
1477
1477
|
pgresult = gvl_PQgetResult(pgconn);
|
1478
1478
|
if( pgresult == NULL )
|
1479
|
-
rb_raise( rb_eNoResultError, "no result received - possibly an intersection with another
|
1479
|
+
rb_raise( rb_eNoResultError, "no result received - possibly an intersection with another query");
|
1480
1480
|
|
1481
1481
|
if( nfields != PQnfields(pgresult) )
|
1482
|
-
rb_raise( rb_eInvalidChangeOfResultFields, "number of fields
|
1482
|
+
rb_raise( rb_eInvalidChangeOfResultFields, "number of fields changed in single row mode from %d to %d - this is a sign for intersection with another query", nfields, PQnfields(pgresult));
|
1483
1483
|
|
1484
1484
|
this->pgresult = pgresult;
|
1485
1485
|
}
|
data/lib/3.1/pg_ext.so
CHANGED
Binary file
|
data/lib/pg/connection.rb
CHANGED
@@ -408,7 +408,17 @@ class PG::Connection
|
|
408
408
|
# See also #copy_data.
|
409
409
|
#
|
410
410
|
def put_copy_data(buffer, encoder=nil)
|
411
|
+
# sync_put_copy_data does a non-blocking attept to flush data.
|
411
412
|
until res=sync_put_copy_data(buffer, encoder)
|
413
|
+
# It didn't flush immediately and allocation of more buffering memory failed.
|
414
|
+
# Wait for all data sent by doing a blocking flush.
|
415
|
+
res = flush
|
416
|
+
end
|
417
|
+
|
418
|
+
# And do a blocking flush every 100 calls.
|
419
|
+
# This is to avoid memory bloat, when sending the data is slower than calls to put_copy_data happen.
|
420
|
+
if (@calls_to_put_copy_data += 1) > 100
|
421
|
+
@calls_to_put_copy_data = 0
|
412
422
|
res = flush
|
413
423
|
end
|
414
424
|
res
|
@@ -431,6 +441,7 @@ class PG::Connection
|
|
431
441
|
until sync_put_copy_end(*args)
|
432
442
|
flush
|
433
443
|
end
|
444
|
+
@calls_to_put_copy_data = 0
|
434
445
|
flush
|
435
446
|
end
|
436
447
|
alias async_put_copy_end put_copy_end
|
@@ -657,8 +668,8 @@ class PG::Connection
|
|
657
668
|
# connection will have its +client_encoding+ set accordingly.
|
658
669
|
#
|
659
670
|
# Raises a PG::Error if the connection fails.
|
660
|
-
def new(*args
|
661
|
-
conn = connect_to_hosts(*args
|
671
|
+
def new(*args)
|
672
|
+
conn = connect_to_hosts(*args)
|
662
673
|
|
663
674
|
if block_given?
|
664
675
|
begin
|
@@ -699,7 +710,7 @@ class PG::Connection
|
|
699
710
|
c = connect_internal(oopts, errors)
|
700
711
|
return c if c
|
701
712
|
end
|
702
|
-
elsif iopts[:host]
|
713
|
+
elsif iopts[:host] && !iopts[:host].empty?
|
703
714
|
# Resolve DNS in Ruby to avoid blocking state while connecting, when it ...
|
704
715
|
ihosts = iopts[:host].split(",", -1)
|
705
716
|
|
data/lib/pg/exceptions.rb
CHANGED
data/lib/pg/version.rb
CHANGED
Binary file
|
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.4.
|
4
|
+
version: 1.4.3
|
5
5
|
platform: x64-mingw-ucrt
|
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-
|
39
|
+
date: 2022-08-09 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.
|
metadata.gz.sig
CHANGED
Binary file
|