pg 1.4.2-x86-mingw32 → 1.4.3-x86-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/History.rdoc +6 -0
- data/ext/pg.c +0 -24
- data/ext/pg_connection.c +1 -0
- 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/3.1/pg_ext.so +0 -0
- data/lib/pg/connection.rb +11 -0
- data/lib/pg/version.rb +1 -1
- data/lib/x86-mingw32/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: 37bf3351b7b854bc57f691233165990cb0b0bb44f754e98ee1b5e2cc55a04941
|
4
|
+
data.tar.gz: bfa5125ec694d6666a1941abf45a40c076179c2b2976441ae9adfce21e35290a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f2781d8fb3801d5db87604d388893753d06103e3bc4a7383f34db9e468c1a957e5ef29569a712c268c08b31d8b184c664038e152457320988c564a097e1a77b
|
7
|
+
data.tar.gz: 937cde573008eb45d1daffc000a7474841d394d993f7be565da5be476755367a3dd1f7b064312961b0716aa4a926d7c693441e08a573cb05378b70cf8a8181ac
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,9 @@
|
|
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
|
+
|
1
7
|
== v1.4.2 [2022-07-27] Lars Kanis <lars@greiz-reinsdorf.de>
|
2
8
|
|
3
9
|
Bugfixes:
|
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/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/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
|
data/lib/pg/version.rb
CHANGED
data/lib/x86-mingw32/libpq.dll
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: x86-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-
|
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
|