Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-pg for openSUSE:Factory checked in at 2022-09-03 23:18:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-pg (Old) and /work/SRC/openSUSE:Factory/.rubygem-pg.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-pg" Sat Sep 3 23:18:51 2022 rev:43 rq:1000914 version:1.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-pg/rubygem-pg.changes 2022-08-09 15:27:02.989401882 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-pg.new.2083/rubygem-pg.changes 2022-09-03 23:19:01.887808155 +0200 @@ -1,0 +2,13 @@ +Mon Aug 29 06:53:55 UTC 2022 - Stephan Kulow <co...@suse.com> + +updated to version 1.4.3 + see installed History.rdoc + + == v1.4.3 [2022-08-09] Lars Kanis <l...@greiz-reinsdorf.de> + + - Avoid memory bloat possible in put_copy_data in pg-1.4.0 to 1.4.2. #473 + - Use Encoding::BINARY for JOHAB, removing some useless code. #472 + + + +------------------------------------------------------------------- Old: ---- pg-1.4.2.gem New: ---- pg-1.4.3.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-pg.spec ++++++ --- /var/tmp/diff_new_pack.vNr3Tr/_old 2022-09-03 23:19:02.895810805 +0200 +++ /var/tmp/diff_new_pack.vNr3Tr/_new 2022-09-03 23:19:02.899810816 +0200 @@ -24,7 +24,7 @@ # Name: rubygem-pg -Version: 1.4.2 +Version: 1.4.3 Release: 0 %define mod_name pg %define mod_full_name %{mod_name}-%{version} ++++++ pg-1.4.2.gem -> pg-1.4.3.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/History.rdoc new/History.rdoc --- old/History.rdoc 2022-07-27 10:04:31.000000000 +0200 +++ new/History.rdoc 2022-08-09 16:42:03.000000000 +0200 @@ -1,3 +1,9 @@ +== v1.4.3 [2022-08-09] Lars Kanis <l...@greiz-reinsdorf.de> + +- Avoid memory bloat possible in put_copy_data in pg-1.4.0 to 1.4.2. #473 +- Use Encoding::BINARY for JOHAB, removing some useless code. #472 + + == v1.4.2 [2022-07-27] Lars Kanis <l...@greiz-reinsdorf.de> Bugfixes: Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ Binary files old/checksums.yaml.gz.sig and new/checksums.yaml.gz.sig differ Binary files old/data.tar.gz.sig and new/data.tar.gz.sig differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/pg.c new/ext/pg.c --- old/ext/pg.c 2022-07-27 10:04:31.000000000 +0200 +++ new/ext/pg.c 2022-08-09 16:42:03.000000000 +0200 @@ -128,26 +128,6 @@ /* - * Look up the JOHAB encoding, creating it as a dummy encoding if it's not - * already defined. - */ -static rb_encoding * -pg_find_or_create_johab(void) -{ - static const char * const aliases[] = { "JOHAB", "Windows-1361", "CP1361" }; - int enc_index; - size_t i; - - for (i = 0; i < sizeof(aliases)/sizeof(aliases[0]); ++i) { - enc_index = rb_enc_find_index(aliases[i]); - if (enc_index > 0) return rb_enc_from_index(enc_index); - } - - enc_index = rb_define_dummy_encoding(aliases[0]); - return rb_enc_from_index(enc_index); -} - -/* * Return the given PostgreSQL encoding ID as an rb_encoding. * * - returns NULL if the client encoding is 'SQL_ASCII'. @@ -187,10 +167,6 @@ return rb_enc_find( pg_enc_pg2ruby_mapping[i][1] ); } - /* JOHAB isn't a builtin encoding, so make up a dummy encoding if it's seen */ - if ( strncmp(pg_encname, "JOHAB", 5) == 0 ) - return pg_find_or_create_johab(); - /* Fallthrough to ASCII-8BIT */ return rb_ascii8bit_encoding(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/pg_connection.c new/ext/pg_connection.c --- old/ext/pg_connection.c 2022-07-27 10:04:31.000000000 +0200 +++ new/ext/pg_connection.c 2022-08-09 16:42:03.000000000 +0200 @@ -266,6 +266,7 @@ this->encoder_for_put_copy_data = Qnil; this->decoder_for_get_copy_data = Qnil; this->trace_stream = Qnil; + rb_ivar_set(self, rb_intern("@calls_to_put_copy_data"), INT2FIX(0)); return self; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/pg/connection.rb new/lib/pg/connection.rb --- old/lib/pg/connection.rb 2022-07-27 10:04:31.000000000 +0200 +++ new/lib/pg/connection.rb 2022-08-09 16:42:03.000000000 +0200 @@ -408,7 +408,17 @@ # See also #copy_data. # def put_copy_data(buffer, encoder=nil) + # sync_put_copy_data does a non-blocking attept to flush data. until res=sync_put_copy_data(buffer, encoder) + # It didn't flush immediately and allocation of more buffering memory failed. + # Wait for all data sent by doing a blocking flush. + res = flush + end + + # And do a blocking flush every 100 calls. + # This is to avoid memory bloat, when sending the data is slower than calls to put_copy_data happen. + if (@calls_to_put_copy_data += 1) > 100 + @calls_to_put_copy_data = 0 res = flush end res @@ -431,6 +441,7 @@ until sync_put_copy_end(*args) flush end + @calls_to_put_copy_data = 0 flush end alias async_put_copy_end put_copy_end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/pg/version.rb new/lib/pg/version.rb --- old/lib/pg/version.rb 2022-07-27 10:04:31.000000000 +0200 +++ new/lib/pg/version.rb 2022-08-09 16:42:03.000000000 +0200 @@ -1,4 +1,4 @@ module PG # Library version - VERSION = '1.4.2' + VERSION = '1.4.3' end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2022-07-27 10:04:31.000000000 +0200 +++ new/metadata 2022-08-09 16:42:03.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: pg version: !ruby/object:Gem::Version - version: 1.4.2 + version: 1.4.3 platform: ruby authors: - Michael Granger @@ -36,7 +36,7 @@ oL1mUdzB8KrZL4/WbG5YNX6UTtJbIOu9qEFbBAy4/jtIkJX+dlNoFwd4GXQW1YNO nA== -----END CERTIFICATE----- -date: 2022-07-27 00:00:00.000000000 Z +date: 2022-08-09 00:00:00.000000000 Z dependencies: [] description: Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL 9.3 and later. Binary files old/metadata.gz.sig and new/metadata.gz.sig differ