Hello community, here is the log from the commit of package perl-DBD-Pg for openSUSE:Factory checked in at 2020-06-14 18:13:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-DBD-Pg (Old) and /work/SRC/openSUSE:Factory/.perl-DBD-Pg.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-DBD-Pg" Sun Jun 14 18:13:16 2020 rev:50 rq:813446 version:3.12.3 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-DBD-Pg/perl-DBD-Pg.changes 2020-06-08 23:51:14.146697765 +0200 +++ /work/SRC/openSUSE:Factory/.perl-DBD-Pg.new.3606/perl-DBD-Pg.changes 2020-06-14 18:13:22.806454942 +0200 @@ -1,0 +2,26 @@ +Wed Jun 10 16:03:22 UTC 2020 - Tina Müller <tina.muel...@suse.com> + +- Run tests in verbose mode. Fixes mysterious failure of t/09arrays.t + An issue exists: https://rt.cpan.org/Ticket/Display.html?id=132799 + +------------------------------------------------------------------- +Sat Jun 6 03:08:00 UTC 2020 - Tina Müller <timueller+p...@suse.de> + +- updated to 3.12.3 + see /usr/share/doc/packages/perl-DBD-Pg/Changes + + Version 3.12.3 (released June 5, 2020) + + - Prevent DBI from flipping AutoCommit to 'on' after a failed commit + [Greg Sabino Mullane] + (Github issue #57) + + + Version 3.12.2 (released June 4, 2020) + + - Revert overly aggressive testing shortcut as it can cause installs to fail + [Greg Sabino Mullane, with apologies] + + + +------------------------------------------------------------------- Old: ---- DBD-Pg-3.12.1.tar.gz New: ---- DBD-Pg-3.12.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-DBD-Pg.spec ++++++ --- /var/tmp/diff_new_pack.LO0wj2/_old 2020-06-14 18:13:23.474457185 +0200 +++ /var/tmp/diff_new_pack.LO0wj2/_new 2020-06-14 18:13:23.478457199 +0200 @@ -17,7 +17,7 @@ Name: perl-DBD-Pg -Version: 3.12.1 +Version: 3.12.3 Release: 0 %define cpan_name DBD-Pg Summary: PostgreSQL database driver for the DBI module @@ -33,7 +33,6 @@ BuildRequires: perl(Test::More) >= 0.88 BuildRequires: perl(version) Requires: perl(DBI) >= 1.614 -Requires: perl(Test::More) >= 0.88 Requires: perl(version) Recommends: perl(Module::Signature) >= 0.50 %{perl_requires} @@ -59,7 +58,7 @@ make %{?_smp_mflags} %check -make test +HARNESS_TIMER=1 HARNESS_VERBOSE=1 make test %install %perl_make_install ++++++ DBD-Pg-3.12.1.tar.gz -> DBD-Pg-3.12.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/Changes new/DBD-Pg-3.12.3/Changes --- old/DBD-Pg-3.12.1/Changes 2020-06-03 15:33:15.000000000 +0200 +++ new/DBD-Pg-3.12.3/Changes 2020-06-05 19:15:13.000000000 +0200 @@ -2,6 +2,19 @@ RT refers to rt.cpan.org +Version 3.12.3 (released June 5, 2020) + + - Prevent DBI from flipping AutoCommit to 'on' after a failed commit + [Greg Sabino Mullane] + (Github issue #57) + + +Version 3.12.2 (released June 4, 2020) + + - Revert overly aggressive testing shortcut as it can cause installs to fail + [Greg Sabino Mullane, with apologies] + + Version 3.12.1 (released June 3, 2020) - Remove test that assumed '(12,34)' is an invalid entry for type "circle", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/META.yml new/DBD-Pg-3.12.3/META.yml --- old/DBD-Pg-3.12.1/META.yml 2020-05-30 20:22:21.000000000 +0200 +++ new/DBD-Pg-3.12.3/META.yml 2020-06-05 03:46:22.000000000 +0200 @@ -1,6 +1,6 @@ --- #YAML:1.0 name : DBD-Pg -version : 3.12.1 +version : 3.12.3 abstract : DBI PostgreSQL interface author: - Greg Sabino Mullane <g...@turnstep.com> @@ -30,10 +30,10 @@ provides: DBD::Pg: file : Pg.pm - version : 3.12.1 + version : 3.12.3 Bundle::DBD::Pg: file : lib/Bundle/DBD/Pg.pm - version : 3.12.1 + version : 3.12.3 keywords: - Postgres diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/Makefile.PL new/DBD-Pg-3.12.3/Makefile.PL --- old/DBD-Pg-3.12.1/Makefile.PL 2020-06-02 19:22:21.000000000 +0200 +++ new/DBD-Pg-3.12.3/Makefile.PL 2020-06-05 03:46:26.000000000 +0200 @@ -5,7 +5,7 @@ use 5.008001; ## No version.pm for this one, as the prereqs are not loaded yet. -my $VERSION = '3.12.1'; +my $VERSION = '3.12.3'; ## App::Info is stored inside t/lib ## Create a proper path so we can use it below diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/Pg.pm new/DBD-Pg-3.12.3/Pg.pm --- old/DBD-Pg-3.12.1/Pg.pm 2020-06-02 14:14:12.000000000 +0200 +++ new/DBD-Pg-3.12.3/Pg.pm 2020-06-05 03:46:12.000000000 +0200 @@ -16,7 +16,7 @@ { package DBD::Pg; - use version; our $VERSION = qv('3.12.1'); + use version; our $VERSION = qv('3.12.3'); use DBI (); use DynaLoader (); @@ -1688,7 +1688,7 @@ =head1 VERSION -This documents version 3.12.1 of the DBD::Pg module +This documents version 3.12.3 of the DBD::Pg module =head1 DESCRIPTION @@ -2760,7 +2760,7 @@ The C<ping> method determines if there is a working connection to an active database server. It does this by sending a small query to the server, currently -B<'DBD::Pg ping test v3.12.1'>. It returns 0 (false) if the connection is not valid, +B<'DBD::Pg ping test v3.12.3'>. It returns 0 (false) if the connection is not valid, otherwise it returns a positive number (true). The value returned indicates the current state: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/README new/DBD-Pg-3.12.3/README --- old/DBD-Pg-3.12.1/README 2020-05-30 20:22:03.000000000 +0200 +++ new/DBD-Pg-3.12.3/README 2020-06-05 03:45:56.000000000 +0200 @@ -5,7 +5,7 @@ DESCRIPTION: ------------ -This is version 3.12.1 of DBD::Pg, the Perl interface to Postgres using DBI. +This is version 3.12.3 of DBD::Pg, the Perl interface to Postgres using DBI. The web site for this interface, and the latest version, can be found at: http://search.cpan.org/dist/DBD-Pg/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/SIGNATURE new/DBD-Pg-3.12.3/SIGNATURE --- old/DBD-Pg-3.12.1/SIGNATURE 2020-06-03 15:37:26.000000000 +0200 +++ new/DBD-Pg-3.12.3/SIGNATURE 2020-06-05 19:55:56.000000000 +0200 @@ -17,32 +17,32 @@ SHA256 e4c6f4cdc9560a09492f196fc9a180867fab12742d7d05052d9842b395c6a9eb .dir-locals.el SHA256 4c92448e25229b74a54f864675f34376e8464727ad5cb82ac312d5db7f68605c .perlcriticrc SHA256 e8d3a038d88fb019bb96983f0c52125f86a4c3465466a20612bf4958ace70ed5 CONTRIBUTING.md -SHA256 cf42159107f98e20fba8e133a4dce8bf393987d7292eb5e4066d111ff7d47f84 Changes +SHA256 825fd8eea6498d477597af7d2ff5f9198ddcedbb1c38919d309e107ce1723217 Changes SHA256 d52a34724b2e3c40ffa2b3b378b574b9e3db27bc3132c88e0be3675f93f378a5 LICENSES/artistic.txt SHA256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSES/gpl-2.0.txt SHA256 e15fb8180cca35de2c3de6854e5cf23152a7733dfa89640825ae13f6f83b0e72 MANIFEST SHA256 d5def2a47197a203318a580bed42169dca47516c6d91d3880317a3043af07f9b MANIFEST.SKIP -SHA256 26794d5cfc42d5bdf43acd3e75e206b63382115adcd2a6455ef8cf66768b2dd7 META.yml -SHA256 cc0cacba194164d078474896972487be7acfec7f6811e466d28af8b31c9d5b02 Makefile.PL +SHA256 4ac1e4f243aa3d4479f0ef8633b59f4e45c34ae7afc1d58ab09786e0629afe3c META.yml +SHA256 edc7a2eb5c07fa63d51f969fcd6eb875ceb4800596f93de0019f84d7fb8423ca Makefile.PL SHA256 d7d68c574b9469375f92aaf0bfd0e539f635a45da869f91390fdc401b1ccaefb Pg.h -SHA256 1224e99291dc8a67e9ace0065f3812eecac0d8d49adcc585690ab1eb3893b4db Pg.pm +SHA256 3e90f76416eb0df1932ca6635fb7cb5ac46e7a36c4beed2a4251876d68e264ee Pg.pm SHA256 4612dd9d174645987df03a87e0d3428e9f06f645ec6355939b15dcb3c77fea63 Pg.xs -SHA256 18a0430af2b5bd7322f4ff9673624559ed68722b26b60bcd81ae298c51315d49 README +SHA256 f8e9a155f8d84cb783614e39bc7d661356e6f6bf399a12c38cc6cd87852a049b README SHA256 de3bff4d51a68d250f37440e73c0e5046ba1afcf25cbf248b6bd106d5455e728 README.dev SHA256 a1d224603fe3a343ba0a0f40086065c81d57fbebc734b5382b0d359da16bdd94 README.win32 SHA256 ce798149ee5bf517fb76d6a652c3e4619bfda6ed706df068f2d0fd1f05ed259c TODO -SHA256 6f83a6d7bee5d2a7606a9d8f401cdbb03e3c186bb8aaefde26d715d6965a999e dbdimp.c +SHA256 131e15b9a9d077b23cb289cdb941b8d5e0ccb43a2777cf40824234bd9c00477d dbdimp.c SHA256 477e40202cc74bf3574359666b322b384a62da77051dc0043665186cf760ae3f dbdimp.h SHA256 9e53f7f41aaaf1b540e2784756ef6f16f61b63df0d9956483aded3c49b6e0f48 dbivport.h -SHA256 64ab848f28b521b6d4fdb3a51522f5004a926b249c9093f6e7d295e5ee21a4ea lib/Bundle/DBD/Pg.pm +SHA256 9dd177798437b0111dd9d813ca09a3665274f67d22e091c6f1bf14f1a8383347 lib/Bundle/DBD/Pg.pm SHA256 c945a57d774dc5bb789f2af67892c749f8c4d42b75967c9aab4bc436ed635a90 quote.c SHA256 1ee43f02036bbb68c151903c2718c483ed223aff6cc93fb1408a9158adad9136 quote.h SHA256 49950c2c882018916ef89b59a1707b732064eb3bb6acb6a350111e1dc81000b8 t/00_signature.t SHA256 c24d7dff9bc9d93ddb69b2de7c7137d0e5dfa32f2f77d8f73554d85620373005 t/00basic.t -SHA256 1d386c0c1084a9f2b71e07003e7d8fa65c32d0d084095155c7f8cfdeb66e532c t/01connect.t +SHA256 a2328a9b98b5c53a82703ce1ca573e00161733cc7fdb517b73ef7f31ed4e2c02 t/01connect.t SHA256 f951d8057ddab944964529a4e5a586b2fd8d75b44d865865bf5a68d042b7ce27 t/01constants.t SHA256 68e9b2f4e7905a43516fe2e719f4de4f13327a2157b12dd24ce0372d7a885c23 t/02attribs.t -SHA256 667f747227cb42ccfe378ef079b446316e20347a31632962a8990b198df5e2ce t/03dbmethod.t +SHA256 fee2b39e9d3ed7e164bd2489c872dd2f3855bd931a500c6d8f9a393f944ce9ae t/03dbmethod.t SHA256 717a453088e5755dbfcd7fc895c80b692e187d7e95c22b8ac62719908804725a t/03smethod.t SHA256 9ddbdab7db536fa94376a602edbbf076c872d57bab3596ebf685c678739e4c6b t/04misc.t SHA256 be40368efe0cf7232c428fcbecee54acef88c5d5c6e27a146371ed1f854f3674 t/06bytea.t @@ -69,7 +69,7 @@ SHA256 4628f92764bdb3e2b04bda7f30fc497231fbbf80dfd24cc09ee3df2e6d6d4387 win32.mak -----BEGIN PGP SIGNATURE----- -iF0EAREDAB0WIQQlKd9quPeUB+lERbS8m5BnFJZKyAUCXtenlgAKCRC8m5BnFJZK -yDRDAKDKEJm4LDDb1gODkwxciokImrmtaACg+H4S+3D/yyJqyvXplTnRmC04roI= -=D2+5 +iF0EAREDAB0WIQQlKd9quPeUB+lERbS8m5BnFJZKyAUCXtqHLAAKCRC8m5BnFJZK +yJE3AKDjEKDUzIA+zI+m/7z+B7yKCQ8U+gCglLLXY5CM6FM90mLBBIdSXNiuEsQ= +=6jY5 -----END PGP SIGNATURE----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/dbdimp.c new/DBD-Pg-3.12.3/dbdimp.c --- old/DBD-Pg-3.12.1/dbdimp.c 2020-05-30 20:21:45.000000000 +0200 +++ new/DBD-Pg-3.12.3/dbdimp.c 2020-06-05 04:19:45.000000000 +0200 @@ -494,7 +494,7 @@ } /* No matter what state we are in, send an empty query to the backend */ - result = PQexec(imp_dbh->conn, "/* DBD::Pg ping test v3.12.1 */"); + result = PQexec(imp_dbh->conn, "/* DBD::Pg ping test v3.12.3 */"); status = PQresultStatus(result); PQclear(result); if (PGRES_FATAL_ERROR == status) { @@ -584,13 +584,7 @@ TRC(DBILOGFP, "%sWarning: cannot determine transaction status\n", THEADER_slow); } - /* If begin_work has been called, turn AutoCommit back on and BegunWork off */ - if (DBIc_has(imp_dbh, DBIcf_BegunWork)!=0) { - DBIc_set(imp_dbh, DBIcf_AutoCommit, 1); - DBIc_set(imp_dbh, DBIcf_BegunWork, 0); - } - - if (!imp_dbh->done_begin) { + if (!imp_dbh->done_begin) { /* for example, inside a COPY */ if (TEND_slow) TRC(DBILOGFP, "%sEnd pg_db_rollback_commit (result: 1)\n", THEADER_slow); return 1; } @@ -604,11 +598,16 @@ TRACE_PQERRORMESSAGE; pg_error(aTHX_ dbh, status, PQerrorMessage(imp_dbh->conn)); if (TEND_slow) TRC(DBILOGFP, "%sEnd pg_db_rollback_commit (error: status not OK)\n", THEADER_slow); - /* Because the commit or rollback has failed, we are still inside a transaction, so reset these: */ - DBIc_set(imp_dbh, DBIcf_AutoCommit, 0); - DBIc_set(imp_dbh, DBIcf_BegunWork, 1); return 0; } + + /* If begin_work has been called, turn AutoCommit back on and BegunWork off */ + if (DBIc_has(imp_dbh, DBIcf_BegunWork)!=0) { + DBIc_set(imp_dbh, DBIcf_AutoCommit, 1); + DBIc_set(imp_dbh, DBIcf_BegunWork, 0); + } + + /* We just did a rollback or a commit, so savepoints are not relevant, and we cannot be in a PGRES_COPY state */ av_undef(imp_dbh->savepoints); imp_dbh->copystate=0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/lib/Bundle/DBD/Pg.pm new/DBD-Pg-3.12.3/lib/Bundle/DBD/Pg.pm --- old/DBD-Pg-3.12.1/lib/Bundle/DBD/Pg.pm 2020-05-30 20:21:53.000000000 +0200 +++ new/DBD-Pg-3.12.3/lib/Bundle/DBD/Pg.pm 2020-06-05 03:45:46.000000000 +0200 @@ -5,7 +5,7 @@ use warnings; use 5.008001; -our $VERSION = '3.12.1'; +our $VERSION = '3.12.3'; 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/t/01connect.t new/DBD-Pg-3.12.3/t/01connect.t --- old/DBD-Pg-3.12.1/t/01connect.t 2020-06-02 20:20:57.000000000 +0200 +++ new/DBD-Pg-3.12.3/t/01connect.t 2020-06-04 20:08:46.000000000 +0200 @@ -15,9 +15,8 @@ ## Define this here in case we get to the END block before a connection is made. BEGIN { - use vars qw/$t $pgversion $pglibversion $pgvstring $pgdefport $helpconnect $dbh $connerror %set $testok/; + use vars qw/$t $pgversion $pglibversion $pgvstring $pgdefport $helpconnect $dbh $connerror %set/; ($pgversion,$pglibversion,$pgvstring,$pgdefport) = ('?','?','?','?'); - $testok = 0; } ($helpconnect,$connerror,$dbh) = connect_database(); @@ -121,8 +120,6 @@ } -$testok = 1; - END { my $pv = sprintf('%vd', $^V); my $schema = 'dbd_pg_testschema'; @@ -203,6 +200,4 @@ "DBI_USER $user\n". "Test schema $schema$extra\n"; - $testok or BAIL_OUT 'Must pass 01connect.t to continue'; - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBD-Pg-3.12.1/t/03dbmethod.t new/DBD-Pg-3.12.3/t/03dbmethod.t --- old/DBD-Pg-3.12.1/t/03dbmethod.t 2020-05-18 14:39:17.000000000 +0200 +++ new/DBD-Pg-3.12.3/t/03dbmethod.t 2020-06-05 04:25:20.000000000 +0200 @@ -25,7 +25,7 @@ if (! $dbh) { plan skip_all => 'Connection to database failed, cannot continue testing'; } -plan tests => 589; +plan tests => 594; isnt ($dbh, undef, 'Connect to database for database handle method testing'); @@ -34,7 +34,7 @@ my ($pglibversion,$pgversion) = ($dbh->{pg_lib_version},$dbh->{pg_server_version}); my ($schema,$schema2,$schema3) = ('dbd_pg_testschema', 'dbd_pg_testschema2', 'dbd_pg_testschema3'); -my ($table1,$table2,$table3) = ('dbd_pg_test1','dbd_pg_test2','dbd_pg_test3'); +my ($table1,$table2,$table3,$table4) = ('dbd_pg_test1','dbd_pg_test2','dbd_pg_test3','dbd_pg_test4'); my ($sequence2,$sequence3,$sequence4) = ('dbd_pg_testsequence2','dbd_pg_testsequence3','dbd_pg_testsequence4'); my ($SQL, $sth, $result, @results, $expected, $warning, $rows, $t, $info); @@ -452,6 +452,32 @@ $warning=q{}; $dbh->rollback(); ok (length $warning, $t); + + ## Use deferred constraint so a commit will fail + $dbh->{AutoCommit} = 0; + $dbh->do("CREATE TABLE $schema.$table4 (id INTEGER PRIMARY KEY, val INTEGER)"); + $dbh->do("ALTER TABLE $schema.$table4 ADD CONSTRAINT ref FOREIGN KEY (val) REFERENCES $table4(id) DEFERRABLE INITIALLY DEFERRED"); + + $t = 'Insert succeeds with broken foreign key because it is deferred'; + eval { + $dbh->do("INSERT INTO $schema.$table4 VALUES (1,2)"); + }; + is ($@, '', $t); + + $t = 'Before a failed commit, AutoCommit is false'; + is ($dbh->{AutoCommit}, '', $t); + + $t = 'Commit fails because of a deferred foreign key'; + eval { + $dbh->commit(); + }; + like ($@, qr/ERROR/, $t); + + $t = 'After a failed commit, AutoCommit is still false'; + is ($dbh->{AutoCommit}, '', $t); + + $dbh->rollback(); + } # @@ -1736,14 +1762,27 @@ } is (length($buf), length($buf2), $t); +$t='DB handle method "pg_lo_close" works after read'; +$result = $dbh->pg_lo_close($handle); +ok ($result, $t); +$dbh->commit; + SKIP: { - #$pgversion < 80300 and skip ('Server version 8.3 or greater needed for pg_lo_truncate tests', 2); - skip ('pg_lo_truncate is not working yet', 2); - $t='DB handle method "pg_lo_truncate" works'; + $pgversion < 80300 and skip ('Server version 8.3 or greater needed for pg_lo_truncate tests', 2); + + $t='DB handle method "pg_lo_truncate" fails if opened in read mode only'; + $handle = $dbh->pg_lo_open($object, $R); + $result = $dbh->pg_lo_truncate($handle, 4); + is ($result, undef, $t); + $dbh->rollback(); + + $t='DB handle method "pg_lo_truncate" works if opened in read/write mode'; + $handle = $dbh->pg_lo_open($object, $W); $result = $dbh->pg_lo_truncate($handle, 4); is ($result, 0, $t); + $t='DB handle method "pg_lo_truncate" truncates to expected size'; $dbh->pg_lo_lseek($handle, 0, 0); ($buf2,$data) = ('',''); while ($dbh->pg_lo_read($handle, $data, 100)) { @@ -1752,10 +1791,6 @@ is (length($buf2), 4, $t); } -$t='DB handle method "pg_lo_close" works after read'; -$result = $dbh->pg_lo_close($handle); -ok ($result, $t); - $t='DB handle method "pg_lo_unlink" works'; $result = $dbh->pg_lo_unlink($object); is ($result, 1, $t); ++++++ cpanspec.yml ++++++ --- /var/tmp/diff_new_pack.LO0wj2/_old 2020-06-14 18:13:23.602457615 +0200 +++ /var/tmp/diff_new_pack.LO0wj2/_new 2020-06-14 18:13:23.602457615 +0200 @@ -26,6 +26,17 @@ #skip_noarch: 1 #custom_build: |- #./Build build flags=%{?_smp_mflags} --myflag -#custom_test: |- + +# t/09arrays.t had a non-zero exit status on ppc64. Running with +# HARNESS_VERBOSE=1 apparently fixes it +# [ 56s] t/09arrays.t ........... +# ... +# [ 56s] All 203 subtests passed +# [ 59s] ------------------- +# [ 59s] t/09arrays.t (Wstat: 11 Tests: 203 Failed: 0) +# [ 59s] Non-zero wait status: 11 +# See also https://rt.cpan.org/Ticket/Display.html?id=132799 +custom_test: |- + HARNESS_TIMER=1 HARNESS_VERBOSE=1 make test #startserver && make test #ignore_requires: Bizarre::Module