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

Reply via email to