Hello community,

here is the log from the commit of package perl-DBD-Pg for openSUSE:Factory 
checked in at 2014-06-01 19:40:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-DBD-Pg (Old)
 and      /work/SRC/openSUSE:Factory/.perl-DBD-Pg.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-DBD-Pg"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-DBD-Pg/perl-DBD-Pg.changes  2014-05-16 
18:12:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-DBD-Pg.new/perl-DBD-Pg.changes     
2014-06-01 19:41:15.000000000 +0200
@@ -1,0 +2,18 @@
+Thu May 29 07:40:06 UTC 2014 - [email protected]
+
+- update to version 3.2.1 from 3.2.0
+  Changes from upstream:
+  - Stricter testing for array slices: disallow number-colon-number from
+    being parsed as a placeholder.
+    [Greg Sabino Mullane] (CPAN bug #95713)
+
+  - Fix for small leak with AutoInactiveDestroy
+    [David Dick] (CPAN bug #95505)
+
+  - Adjust test regex to fix failing t/01_connect.t on some platforms
+    [Greg Sabino Mullane]
+
+  - Further tweaks to get PGINITDB working for test suite.
+    [Nicholas Clark]
+
+-------------------------------------------------------------------

Old:
----
  DBD-Pg-3.2.0.tar.gz

New:
----
  DBD-Pg-3.2.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-DBD-Pg.spec ++++++
--- /var/tmp/diff_new_pack.BTlNho/_old  2014-06-01 19:41:16.000000000 +0200
+++ /var/tmp/diff_new_pack.BTlNho/_new  2014-06-01 19:41:16.000000000 +0200
@@ -21,7 +21,7 @@
 Summary:        PostgreSQL database driver for the DBI module
 License:        GPL-1.0+ or Artistic-1.0
 Group:          Development/Libraries/Perl
-Version:        3.2.0
+Version:        3.2.1
 Release:        0
 Url:            http://search.cpan.org/dist/DBD-Pg/
 Source:         
http://www.cpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-%{version}.tar.gz

++++++ DBD-Pg-3.2.0.tar.gz -> DBD-Pg-3.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/Changes new/DBD-Pg-3.2.1/Changes
--- old/DBD-Pg-3.2.0/Changes    2014-05-15 19:16:57.000000000 +0200
+++ new/DBD-Pg-3.2.1/Changes    2014-05-20 17:54:12.000000000 +0200
@@ -1,5 +1,20 @@
  'GSM' is Greg Sabino Mullane, [email protected]
 
+Version 3.2.1  Released May 20, 2014 (git commit 
a56ef5c4715440d4fc2054df5477996b0e287467)
+
+  - Stricter testing for array slices: disallow number-colon-number from being
+    parsed as a placeholder.
+    [Greg Sabino Mullane] (CPAN bug #95713)
+
+  - Fix for small leak with AutoInactiveDestroy
+    [David Dick] (CPAN bug #95505)
+
+  - Adjust test regex to fix failing t/01_connect.t on some platforms
+    [Greg Sabino Mullane]
+
+  - Further tweaks to get PGINITDB working for test suite.
+    [Nicholas Clark]
+
 
 Version 3.2.0  Released May 15, 2014 (git commit 
897974c2865259bb9786d8b0989f8e42db0a0d79)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/META.yml new/DBD-Pg-3.2.1/META.yml
--- old/DBD-Pg-3.2.0/META.yml   2014-05-09 00:00:19.000000000 +0200
+++ new/DBD-Pg-3.2.1/META.yml   2014-05-19 17:42:46.000000000 +0200
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name                        : DBD-Pg
-version                     : 3.2.0
+version                     : 3.2.1
 abstract                    : DBI PostgreSQL interface
 author:              
   - Greg Sabino Mullane <[email protected]>
@@ -30,10 +30,10 @@
 provides:
   DBD::Pg:
     file                    : Pg.pm
-    version                 : 3.2.0
+    version                 : 3.2.1
   Bundle::DBD::Pg:
     file                    : lib/Bundle/DBD/Pg.pm
-    version                 : 3.2.0
+    version                 : 3.2.1
 
 keywords:
   - Postgres
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/Makefile.PL new/DBD-Pg-3.2.1/Makefile.PL
--- old/DBD-Pg-3.2.0/Makefile.PL        2014-05-09 00:00:31.000000000 +0200
+++ new/DBD-Pg-3.2.1/Makefile.PL        2014-05-19 17:42:46.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.2.0';
+my $VERSION = '3.2.1';
 
 ## App::Info is stored inside t/lib
 ## Create a proper path so we can use it below
@@ -303,7 +303,7 @@
 
        $string .= <<'MAKE_SPLINT';
 
-## This must be version 3.2.0 or better: earlier versions have many 
+## This must be version 3.2.1 or better: earlier versions have many 
 ## problems parsing the DBI header files
 SPLINT = splint
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/Pg.pm new/DBD-Pg-3.2.1/Pg.pm
--- old/DBD-Pg-3.2.0/Pg.pm      2014-05-09 00:00:38.000000000 +0200
+++ new/DBD-Pg-3.2.1/Pg.pm      2014-05-19 17:42:46.000000000 +0200
@@ -16,7 +16,7 @@
 {
        package DBD::Pg;
 
-       use version; our $VERSION = qv('3.2.0');
+       use version; our $VERSION = qv('3.2.1');
 
        use DBI ();
        use DynaLoader ();
@@ -1778,7 +1778,7 @@
 
 =head1 VERSION
 
-This documents version 3.2.0 of the DBD::Pg module
+This documents version 3.2.1 of the DBD::Pg module
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/README new/DBD-Pg-3.2.1/README
--- old/DBD-Pg-3.2.0/README     2014-05-09 00:00:23.000000000 +0200
+++ new/DBD-Pg-3.2.1/README     2014-05-19 17:42:46.000000000 +0200
@@ -5,7 +5,7 @@
 DESCRIPTION:
 ------------
 
-This is version 3.2.0 of DBD::Pg, the Perl interface to Postgres using DBI. 
+This is version 3.2.1 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.2.0/SIGNATURE new/DBD-Pg-3.2.1/SIGNATURE
--- old/DBD-Pg-3.2.0/SIGNATURE  2014-05-15 19:18:05.000000000 +0200
+++ new/DBD-Pg-3.2.1/SIGNATURE  2014-05-20 17:54:15.000000000 +0200
@@ -15,24 +15,24 @@
 Hash: RIPEMD160
 
 SHA1 6f4143600430e0bc949c17b05ac34844e5fb3ee4 .perlcriticrc
-SHA1 26676b4eade88496081f601219fb8e7ad68099bd Changes
+SHA1 a7455c7f2bb22d86f56015bb3b571c142399e4d6 Changes
 SHA1 21bc5f3c797d4d5b72285198ffeb1e4e1f0a2902 LICENSES/artistic.txt
 SHA1 06877624ea5c77efe3b7e39b0f909eda6e25a4ec LICENSES/gpl-2.0.txt
 SHA1 9c2b33069c9ceb7cd57ea0aeb7b8de144ab75672 MANIFEST
 SHA1 8d2857ee9a6326c08507d8552f86709dd068fbe5 MANIFEST.SKIP
-SHA1 f1d2c44cc3da70ca53f93135d0d132443ef0a7c8 META.yml
-SHA1 0fb64fb841552ec2e848475c9f8bfef3e3c1efd0 Makefile.PL
+SHA1 42f9f611147d0fdef3832c90fc726186db261aef META.yml
+SHA1 757ee49ab010961773e6829880e9c9025d3b37e6 Makefile.PL
 SHA1 92b6c5da08942e820f090ee1adb4e55c1f46fe8c Pg.h
-SHA1 b0e38dd015de6b00db80f48a8e0fc2220609d79d Pg.pm
+SHA1 a48823add28e3e51a3220311d40cd401987c7513 Pg.pm
 SHA1 27ff80390a0518b5d24dd15b90b8cdd7710d76dc Pg.xs
-SHA1 30d7e2bdae67a937e6f7be1ad75a1d06d201fc69 README
+SHA1 a8c560c2ef2983ca8770522782e70332862a7b40 README
 SHA1 34036e0b0dc15d899f561e8177227661eaaef2f1 README.dev
 SHA1 7e213bf90f513595b59c0a2c4ef94fea1592efcf README.win32
 SHA1 3aac8fa93676046f9fa31d8fd05914bf638b6c1f TODO
-SHA1 9e5cbc1037d0b3707a76489870ac81caffacf781 dbdimp.c
+SHA1 51bf2e4a7f1222187037971e70e147d73d489b8e dbdimp.c
 SHA1 9cb68abb0de526d0a9c58d52d2b6868642d50cec dbdimp.h
 SHA1 6c33bcf138e577722283bef02fceb8cbce4d100d dbivport.h
-SHA1 aeb6d457bbe7b29a9856131b6d831884f44b15e9 lib/Bundle/DBD/Pg.pm
+SHA1 735fc3a48aec812cad99ba5b6d24b1c678d1819d lib/Bundle/DBD/Pg.pm
 SHA1 7e97b01e2facd3e71a79d400979357e609cc922c quote.c
 SHA1 7ccff1056809e35bcc1a3ff4f5a3d337f207681f quote.h
 SHA1 93aa7e8cae0a361d1e6163dea0281ebff41f3c5f t/00_signature.t
@@ -47,11 +47,11 @@
 SHA1 c4c43b2229411c3850de0a9cb9bae8e5ccc7d822 t/07copy.t
 SHA1 e6fe3d9c739d31f344c4a56382004a97202e4d51 t/08async.t
 SHA1 3ead013fa8268caf62b6401a00969d70d0596d06 t/09arrays.t
-SHA1 9eaaff8382eaaaed376ee978cf19fa6028ee3c68 t/12placeholders.t
+SHA1 97ce6ffdd6b2ac1f080a0147a0377bf5f88bebf9 t/12placeholders.t
 SHA1 81558ca5c783ea6792fd103444a04df615a8d127 t/20savepoints.t
 SHA1 e27c7167fdca6072b68f7b0b465504b1de5f27bc t/30unicode.t
 SHA1 b1e1d98917296def69afa730d963a3d16c23def1 t/99cleanup.t
-SHA1 af0126653ca2942b251cf273a25d1a1768cac33e t/dbdpg_test_setup.pl
+SHA1 28b835a7aefed7dc7167867c40f5c4e293bfb33b t/dbdpg_test_setup.pl
 SHA1 0e196509e83b3ca603478d994a0837edd51b841d t/lib/App/Info.pm
 SHA1 e02b0b5206c37280f9259e6a02839cbfc10be53f t/lib/App/Info/Handler.pm
 SHA1 cc5d256a57f1fe0ddc587685a0cd64f812bb1ce9 t/lib/App/Info/Handler/Print.pm
@@ -66,7 +66,7 @@
 SHA1 f07cd5ecaeb854c81ceb9206364979cf607e6546 win32.mak
 -----BEGIN PGP SIGNATURE-----
 
-iEYEAREDAAYFAlN09s0ACgkQvJuQZxSWSshf7QCgjWXLmEPCVWODpfmvPZUTE2RS
-JEoAn0yH+r9pRrvg7p1IQe7n+0spR4JD
-=pVp9
+iEYEAREDAAYFAlN7eqcACgkQvJuQZxSWSsgSugCfXnP7REGKz2R3qfw4DoT0jN0Y
+aYwAniV6rB9t/XmA9kVi2cQoVsM8oxoE
+=1d4n
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/dbdimp.c new/DBD-Pg-3.2.1/dbdimp.c
--- old/DBD-Pg-3.2.0/dbdimp.c   2014-05-08 23:52:48.000000000 +0200
+++ new/DBD-Pg-3.2.1/dbdimp.c   2014-05-20 14:10:59.000000000 +0200
@@ -1699,6 +1699,8 @@
 
        unsigned char ch; /* The current character being checked */
 
+       unsigned char oldch; /* The previous character */
+
        char quote; /* Current quote or comment character: used only in those 
two blocks */
 
        bool found; /* Simple boolean */
@@ -1754,7 +1756,7 @@
        /* Start everyone at the start of the string */
        currpos = sectionstart = 0;
 
-       ch = 1;
+       ch = oldch = 1;
 
        while (1) {
 
@@ -1763,6 +1765,9 @@
                        break;
                }
 
+               /* Store the old character in case we need to look backwards */
+               oldch = ch;
+
                /* Put the current letter into ch, and advance statement to the 
next character */
                ch = *statement++;
 
@@ -1771,12 +1776,14 @@
 
                /* Quick short-circuit for uninteresting characters */
                if (
-                       (ch < 34 && ch != 0) || (ch > 63 && ch != 91) ||
-                       (ch!=34 && ch!=39 &&    /* simple quoting */
-                        ch!=45 && ch!=47 &&    /* comment */
-                        ch!=36 &&              /* dollar quoting or 
placeholder */
-                        ch!=58 && ch!=63 &&    /* placeholder */
-                        ch!=91 &&              /* array slice */
+                       (ch < 34 && ch != 0)
+                       || (ch > 63 && ch != 91) /* > @ABC... but not [ */
+                       || 
+                       (ch!=34 && ch!=39 &&    /* " ' simple quoting */
+                        ch!=45 && ch!=47 &&    /* - / comment */
+                        ch!=36 &&              /* $   dollar quoting or 
placeholder */
+                        ch!=58 && ch!=63 &&    /* : ? placeholder */
+                        ch!=91 &&              /* [   array slice */
                         ch!=0                  /* end of the string (create 
segment) */
                         )
                        ) {
@@ -1982,8 +1989,9 @@
                        if ('?' == ch) {
                                placeholder_type = 1;
                        }
-                       /* Colon style, but skip two colons in a row (e.g. 
myval::float) */
+                       /* Colon style */
                        else if (':' == ch && ! imp_sth->nocolons) {
+                               /* Skip two colons in a row (e.g. myval::float) 
*/
                                if (':' == *statement) {
                                        /* Might as well skip _all_ consecutive 
colons */
                                        while(':' == *statement) {
@@ -1992,6 +2000,16 @@
                                        }
                                        continue;
                                }
+                               /* Skip number-colon-number */
+                               if (isDIGIT(oldch) && isDIGIT(*statement)) {
+                                       /* Eat until we don't see a number */
+                                       while (isDIGIT(*statement)) {
+                                               ++statement;
+                                               ++currpos;
+                                       }
+                                       continue;
+                               }
+                               /* Only allow colon placeholders if they start 
with alphanum */
                                if (isALNUM(*statement)) {
                                        while(isALNUM(*statement)) {
                                                ++statement;
@@ -3833,7 +3851,7 @@
                croak("dbd_st_destroy called twice!");
 
        /* If the AutoInactiveDestroy flag has been set, we go no further */
-       if (DBIc_AIADESTROY(imp_dbh)) {
+       if ((DBIc_AIADESTROY(imp_dbh)) && ((U32)PerlProc_getpid() != 
imp_dbh->pid_number)) {
                if (TRACE4_slow) {
                        TRC(DBILOGFP, "%sskipping sth destroy due to 
AutoInactiveDestroy\n", THEADER_slow);
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/lib/Bundle/DBD/Pg.pm 
new/DBD-Pg-3.2.1/lib/Bundle/DBD/Pg.pm
--- old/DBD-Pg-3.2.0/lib/Bundle/DBD/Pg.pm       2014-05-09 00:00:08.000000000 
+0200
+++ new/DBD-Pg-3.2.1/lib/Bundle/DBD/Pg.pm       2014-05-19 17:42:46.000000000 
+0200
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-$VERSION = '3.2.0';
+$VERSION = '3.2.1';
 
 1;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/t/12placeholders.t 
new/DBD-Pg-3.2.1/t/12placeholders.t
--- old/DBD-Pg-3.2.0/t/12placeholders.t 2014-05-02 16:57:37.000000000 +0200
+++ new/DBD-Pg-3.2.1/t/12placeholders.t 2014-05-19 17:42:46.000000000 +0200
@@ -17,7 +17,7 @@
 if (! $dbh) {
        plan skip_all => 'Connection to database failed, cannot continue 
testing';
 }
-plan tests => 250;
+plan tests => 251;
 
 my $t='Connect to database for placeholder testing';
 isnt ($dbh, undef, $t);
@@ -555,11 +555,20 @@
 $t=q{Value of placeholder_nocolons defaults to 0};
 is ($dbh->{pg_placeholder_nocolons}, 0, $t);
 
-$t='Without placeholder_nocolons, queries with array slices fail';
+$t='Simple array slices do not get picked up as placeholders';
 $SQL = q{SELECT argh[1:2] FROM dbd_pg_test_geom WHERE id = ?};
 eval {
        $sth = $dbh->prepare($SQL);
        $sth->execute(1);
+       $sth->finish();
+};
+is ($@, q{}, $t);
+
+$t='Without placeholder_nocolons, queries with array slices fail';
+$SQL = q{SELECT argh[1 :2] FROM dbd_pg_test_geom WHERE id = ?};
+eval {
+       $sth = $dbh->prepare($SQL);
+       $sth->execute(1);
        $sth->finish();
 };
 like ($@, qr{Cannot mix placeholder styles}, $t);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.2.0/t/dbdpg_test_setup.pl 
new/DBD-Pg-3.2.1/t/dbdpg_test_setup.pl
--- old/DBD-Pg-3.2.0/t/dbdpg_test_setup.pl      2014-05-15 17:34:09.000000000 
+0200
+++ new/DBD-Pg-3.2.1/t/dbdpg_test_setup.pl      2014-05-19 17:43:22.000000000 
+0200
@@ -117,7 +117,7 @@
                        1;
                };
 
-               if ($@ =~ /invalid connection option/ or $@ =~ /"dbbarf"/) {
+               if ($@ =~ /invalid connection option/ or $@ =~ /dbbarf/) {
                        return $helpconnect, $@, undef;
                }
 
@@ -722,6 +722,8 @@
        my $pg_ctl = 'pg_ctl';
        if (exists $ENV{DBDPG_INITDB} and -e $ENV{DBDPG_INITDB}) {
                ($pg_ctl = $ENV{DBDPG_INITDB}) =~ s/initdb/pg_ctl/;
+       } elsif (exists $ENV{PGINITDB} and -e $ENV{PGINITDB}) {
+               ($pg_ctl = $ENV{PGINITDB}) =~ s/initdb/pg_ctl/;
        }
        my ($testdsn, $testuser, $testdir, $error) = ('','','','?');
        my ($helpconnect, $su, $uid, $initdb, $version) = (0,'','','default',0);

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to