Hello community,

here is the log from the commit of package perl-DBD-Pg for openSUSE:Factory 
checked in at 2020-05-12 22:27:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-DBD-Pg (Old)
 and      /work/SRC/openSUSE:Factory/.perl-DBD-Pg.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-DBD-Pg"

Tue May 12 22:27:33 2020 rev:48 rq:802700 version:3.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-DBD-Pg/perl-DBD-Pg.changes  2020-05-09 
19:51:22.412711546 +0200
+++ /work/SRC/openSUSE:Factory/.perl-DBD-Pg.new.2738/perl-DBD-Pg.changes        
2020-05-12 22:28:48.063427244 +0200
@@ -1,0 +2,22 @@
+Fri May  8 03:08:00 UTC 2020 - Tina Müller <[email protected]>
+
+updated to 3.12.0
+   see /usr/share/doc/packages/perl-DBD-Pg/Changes
+
+  Version 3.12.0  (released May 7, 2020)
+  
+   - Add CONTRIBUTING.md file
+  
+   - Return the table info row last in statistics_info.
+      This fixes statistics_info on pre-8.3 servers.
+     [Dagfinn Ilmari Mannsåker]
+  
+   - Fix ASC_OR_DESC field in statistics_info
+     [Dagfinn Ilmari Mannsåker]
+  
+   - Indicate NULL ordering in statistics_info
+     [Dagfinn Ilmari Mannsåker]
+  
+  
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ perl-DBD-Pg.spec ++++++
--- /var/tmp/diff_new_pack.SmtCUK/_old  2020-05-12 22:28:49.087429382 +0200
+++ /var/tmp/diff_new_pack.SmtCUK/_new  2020-05-12 22:28:49.091429390 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-DBD-Pg
-Version:        3.11.1
+Version:        3.12.0
 Release:        0
 %define cpan_name DBD-Pg
 Summary:        PostgreSQL database driver for the DBI module
@@ -68,6 +68,6 @@
 
 %files -f %{name}.files
 %defattr(-,root,root,755)
-%doc Changes README README.dev README.win32 TODO win32.mak
+%doc Changes CONTRIBUTING.md README README.dev README.win32 TODO win32.mak
 
 %changelog

++++++ DBD-Pg-3.11.1.tar.gz -> DBD-Pg-3.12.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/CONTRIBUTING.md 
new/DBD-Pg-3.12.0/CONTRIBUTING.md
--- old/DBD-Pg-3.11.1/CONTRIBUTING.md   1970-01-01 01:00:00.000000000 +0100
+++ new/DBD-Pg-3.12.0/CONTRIBUTING.md   2020-05-01 16:24:56.000000000 +0200
@@ -0,0 +1,57 @@
+# How to Contribute
+
+Help with DBD::Pg is always welcome. You do not have to know any code to help 
out - 
+we also need help testing, answering questions, improving documentation, etc.
+
+
+## Issues
+
+Bugs and problems can be reported at:
+
+https://github.com/bucardo/dbdpg/issues
+
+You can also report them here if you wish:
+
+https://rt.cpan.org/Dist/Display.html?Name=DBD-Pg
+
+
+## Questions
+
+Questions about usage can be answered in a number of places:
+
+### IRC
+
+You may find helpful people at #postgresql on irc.freenode.net
+
+Lower volume but more technical discussions happen at #dbi on irc.perl.org
+
+### Slack
+
+The Slack channel #general at postgresteam.slack.com is full of helpful people
+
+### Email
+
+There is a low-volume mailing list for discussion about this module
+
+Send an email to <[email protected]>. Before doing so, you probably want to 
+subscribe by sending an email to [email protected]
+
+
+## Testing
+
+You can help by testing DBD::Pg as widely as possible. Running the tests 
+on a wide variety of platforms, Postgres versions, DBI versions, and other 
+factors is a great help in uncovering problems and improving DBD::Pg
+
+
+## Code development
+
+Development happens in a git repo. The canonical location is currently 
+at https://github.com/bucardo/dbdpg
+
+Create your own copy of the repo by running:
+
+git clone https://github.com/bucardo/dbdpg.git
+
+See the README.dev file for more information about developing DBD::Pg
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/Changes new/DBD-Pg-3.12.0/Changes
--- old/DBD-Pg-3.11.1/Changes   2020-04-28 15:24:57.000000000 +0200
+++ new/DBD-Pg-3.12.0/Changes   2020-05-07 19:47:05.000000000 +0200
@@ -2,6 +2,21 @@
 
 RT refers to rt.cpan.org
 
+Version 3.12.0  (released May 7, 2020)
+
+ - Add CONTRIBUTING.md file
+
+ - Return the table info row last in statistics_info.
+    This fixes statistics_info on pre-8.3 servers.
+   [Dagfinn Ilmari Mannsåker]
+
+ - Fix ASC_OR_DESC field in statistics_info
+   [Dagfinn Ilmari Mannsåker]
+
+ - Indicate NULL ordering in statistics_info
+   [Dagfinn Ilmari Mannsåker]
+
+
 Version 3.11.1  (released April 28, 2020)
 
  - Adjust Makefile to fix failing 'fulltest' target on BSD systems
@@ -115,7 +130,7 @@
 
 Version 3.9.1  (released August 15, 2019)
 
- - Bugfix for pg_error_field: make sure we do not feed null to newSVpv,
+ - Bug fix for pg_error_field: make sure we do not feed null to newSVpv,
      handle older versions of Postgres better.
    [Greg Sabino Mullane]
 
@@ -152,7 +167,8 @@
  - Fix E'' string escape handling on architectures with unsigned chars
    (Github issue #46)
 
- - Minor fix to allow DBD::Pg to connect to PGbouncer's internal 'pgbouncer' 
database.
+ - Minor fix to allow DBD::Pg to connect to internal 'pgbouncer' database
+     that is created by PgBouncer
    [Greg Sabino Mullane]
    (Github issue #47)
 
@@ -514,7 +530,7 @@
    [Greg Sabino Mullane]
    (RT ticket #94841)
 
- - Don't attempt to use the POSIX signalling stuff if the OS is Win
+ - Don't attempt to use the POSIX signaling stuff if the OS is Win
    [Greg Sabino Mullane]
    (RT ticket #94841)
 
@@ -686,7 +702,7 @@
    [Jan Pazdziora]
    (RT ticket #70953)
 
- - Various fixes to the array-marshalling code
+ - Various fixes to the array-marshaling code
    [Noah Misch, Mark Stosberg, and David Christensen]
    (RT ticket #58552)
 
@@ -1046,8 +1062,8 @@
    [Greg Sabino Mullane]
 
  - Adjustment of Makefile.PL to fix problem with Strawberry Perl. Thanks 
-     to Martin Evan (martin.evans at easysoft.com)
-     and Brian (elspicyjack at gmail.com) on the dbi-users list.
+     to Martin Evan <martin.evans at easysoft.com>
+     and Brian <elspicyjack at gmail.com> on the dbi-users list.
 
 
 Version 2.10.7  (released September 22, 2008)
@@ -2038,10 +2054,10 @@
      warning mechanism instead of going to stderr.
    [Dominic Mitchell <dom at semantico.com>]
 
- - The $dbh->prepare() method now rewrites the SQL statement into an internal 
form, striping out 
-     comments and whitespace, and if PostgreSQL > 7.3 takes the stripped 
statement and passes 
+ - The $dbh->prepare() method now rewrites the SQL statement into an internal 
form, stripping out 
+     comments and whitespace, and if PostgreSQL > 7.3 it takes the stripped 
statement and passes 
      that to Postgres' PREPARE statement, then rewrites the statement 
-     as 'EXECUTE "DBD::PG::cached_query n" ($1, $2, ... $n, $n+1)' for 
DBD::Pg's execute.
+     as 'EXECUTE "DBD::PG::cached_query n" ($1, $2, ... $n, $n+1)' for 
DBD::Pg::execute.
 
  - Allows the use of :n and :foo bind params.
    So (SELECT * FROM foo WHERE 1 = :this and 2 = :that) will now work.
@@ -2050,7 +2066,7 @@
 
  - Switched over to use driver.xst.
 
- - The pg_error() method removes \n's rather than truncating the message on 
the first \n.
+ - The pg_error() method removes newlines rather than truncating the message 
on the first \n.
 
  - Fixed statement scan problem where the preparse 
      of "SELECT foo[3:33] from bar" was scanning :33 as a placeholder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/MANIFEST new/DBD-Pg-3.12.0/MANIFEST
--- old/DBD-Pg-3.11.1/MANIFEST  2020-04-23 18:21:50.000000000 +0200
+++ new/DBD-Pg-3.12.0/MANIFEST  2020-05-01 16:26:11.000000000 +0200
@@ -1,5 +1,6 @@
 Changes
 README
+CONTRIBUTING.md
 SIGNATURE
 Pg.pm
 META.yml
@@ -7,6 +8,7 @@
 Makefile.PL
 .dir-locals.el
 
+
 MANIFEST
 MANIFEST.SKIP
 README.win32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/META.yml new/DBD-Pg-3.12.0/META.yml
--- old/DBD-Pg-3.11.1/META.yml  2020-04-23 20:31:57.000000000 +0200
+++ new/DBD-Pg-3.12.0/META.yml  2020-05-05 20:11:55.000000000 +0200
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name                        : DBD-Pg
-version                     : 3.11.1
+version                     : 3.12.0
 abstract                    : DBI PostgreSQL interface
 author:              
   - Greg Sabino Mullane <[email protected]>
@@ -30,10 +30,10 @@
 provides:
   DBD::Pg:
     file                    : Pg.pm
-    version                 : 3.11.1
+    version                 : 3.12.0
   Bundle::DBD::Pg:
     file                    : lib/Bundle/DBD/Pg.pm
-    version                 : 3.11.1
+    version                 : 3.12.0
 
 keywords:
   - Postgres
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/Makefile.PL 
new/DBD-Pg-3.12.0/Makefile.PL
--- old/DBD-Pg-3.11.1/Makefile.PL       2020-04-23 20:32:01.000000000 +0200
+++ new/DBD-Pg-3.12.0/Makefile.PL       2020-05-05 20:11:59.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.11.1';
+my $VERSION = '3.12.0';
 
 ## 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.11.1/Pg.pm new/DBD-Pg-3.12.0/Pg.pm
--- old/DBD-Pg-3.11.1/Pg.pm     2020-04-23 20:31:54.000000000 +0200
+++ new/DBD-Pg-3.12.0/Pg.pm     2020-05-05 20:35:07.000000000 +0200
@@ -16,7 +16,7 @@
 {
     package DBD::Pg;
 
-    use version; our $VERSION = qv('3.11.1');
+    use version; our $VERSION = qv('3.12.0');
 
     use DBI ();
     use DynaLoader ();
@@ -640,9 +640,6 @@
             push(@exe_args, $schema);
         }
 
-        my $is_key_column = $dbh->{private_dbdpg}{version} >= 110000
-            ? 'col.i <= i.indnkeyatts' : 'true';
-
         my $stats_sql;
 
         # Table-level stats
@@ -663,7 +660,8 @@
                     d.relpages                    AS "PAGES",
                     NULL                          AS "FILTER_CONDITION",
                     NULL                          AS "pg_expression",
-                    NULL                          AS "pg_is_key_column"
+                    NULL                          AS "pg_is_key_column",
+                    NULL                          AS "pg_null_ordering"
                 FROM   pg_catalog.pg_class d
                 JOIN   pg_catalog.pg_namespace n ON n.oid = d.relnamespace
                 WHERE  d.relname = ? $schema_where
@@ -672,6 +670,35 @@
             push @exe_args, @exe_args;
         }
 
+        my $is_key_column = $dbh->{private_dbdpg}{version} >= 110000
+            ? 'col.i <= i.indnkeyatts' : 'true';
+
+        my ($asc_or_desc, $null_ordering);
+        if ($dbh->{private_dbdpg}{version} >= 90600) {
+            $asc_or_desc = q{
+                CASE WHEN pg_catalog.pg_index_column_has_property(c.oid, 
col.i, 'asc') THEN 'A'
+                     WHEN pg_catalog.pg_index_column_has_property(c.oid, 
col.i, 'desc') THEN 'D'
+                END};
+            $null_ordering = q{
+                CASE WHEN pg_catalog.pg_index_column_has_property(c.oid, 
col.i, 'nulls_first') THEN 'first'
+                     WHEN pg_catalog.pg_index_column_has_property(c.oid, 
col.i, 'nulls_last') THEN 'last'
+                END};
+        }
+        elsif ($dbh->{private_dbdpg}{version} > 80300) {
+            $asc_or_desc = q{
+                CASE WHEN a.amcanorder THEN
+                     CASE WHEN i.indoption[col.i - 1] & 1 = 0 THEN 'A' ELSE 
'D' END
+                END};
+            $null_ordering = q{
+                CASE WHEN a.amcanorder THEN
+                     CASE WHEN i.indoption[col.i - 1] & 2 = 0 THEN 'last' ELSE 
'first' END
+                END};
+        }
+        else {
+            $asc_or_desc = q{CASE WHEN a.amorderstrategy <> 0 THEN 'A' END};
+            $null_ordering = q{CASE WHEN a.amorderstrategy <> 0 THEN 'last' 
END};
+        }
+
         # Fetch the index definitions
         $stats_sql .= qq{
             SELECT
@@ -688,14 +715,15 @@
                 END                           AS "TYPE",
                 col.i                         AS "ORDINAL_POSITION",
                 att.attname                   AS "COLUMN_NAME",
-                'A'                           AS "ASC_OR_DESC",
+                $asc_or_desc                  AS "ASC_OR_DESC",
                 c.reltuples                   AS "CARDINALITY",
                 c.relpages                    AS "PAGES",
                 pg_catalog.pg_get_expr(i.indpred,i.indrelid)
                                               AS "FILTER_CONDITION",
                 pg_catalog.pg_get_indexdef(i.indexrelid, col.i, true)
                                               AS "pg_expression",
-                $is_key_column                AS "pg_is_key_column"
+                $is_key_column                AS "pg_is_key_column",
+                $null_ordering                AS "pg_null_ordering"
             FROM
                 pg_catalog.pg_index i
                 JOIN pg_catalog.pg_class c ON c.oid = i.indexrelid
@@ -710,8 +738,7 @@
                 d.relname = ? $schema_where
                 AND (i.indisunique OR NOT(?)) -- unique_only
             ORDER BY
-                -- NULLS FIRST to get the table level stats first
-                "NON_UNIQUE" NULLS FIRST, "TYPE", "INDEX_QUALIFIER", 
"INDEX_NAME", "ORDINAL_POSITION"
+                "NON_UNIQUE", "TYPE", "INDEX_QUALIFIER", "INDEX_NAME", 
"ORDINAL_POSITION"
         };
 
         my $sth = $dbh->prepare($stats_sql);
@@ -1661,7 +1688,7 @@
 
 =head1 VERSION
 
-This documents version 3.11.1 of the DBD::Pg module
+This documents version 3.12.0 of the DBD::Pg module
 
 =head1 DESCRIPTION
 
@@ -2733,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.11.1'>. It returns 0 (false) if the connection is not 
valid, 
+B<'DBD::Pg ping test v3.12.0'>. It returns 0 (false) if the connection is not 
valid, 
 otherwise it returns a positive number (true). The value returned indicates 
the 
 current state:
 
@@ -3024,6 +3051,12 @@
 Postgres (since version 11) allows including non-key columns in indexes so 
they can be retrieved by
 index-only scans.  This field will be false for such columns, and true for 
normal index columns.
 
+=item pg_null_ordering
+
+In addition to C<ASC> and C<DESC>, Postgres supports specifying C<NULLS FIRST> 
or C<NULLS LAST> for
+index columns.  For columns of indexes that support ordering, this field will 
be C<first> or
+C<last>, otherwise it will be C<undef>;
+
 =back
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/README new/DBD-Pg-3.12.0/README
--- old/DBD-Pg-3.11.1/README    2020-04-23 20:31:50.000000000 +0200
+++ new/DBD-Pg-3.12.0/README    2020-05-05 20:11:37.000000000 +0200
@@ -5,7 +5,7 @@
 DESCRIPTION:
 ------------
 
-This is version 3.11.1 of DBD::Pg, the Perl interface to Postgres using DBI. 
+This is version 3.12.0 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.11.1/README.dev new/DBD-Pg-3.12.0/README.dev
--- old/DBD-Pg-3.11.1/README.dev        2020-04-23 18:31:14.000000000 +0200
+++ new/DBD-Pg-3.12.0/README.dev        2020-05-07 19:47:06.000000000 +0200
@@ -66,6 +66,8 @@
 
 README.testdatabase - created by the tests to cache connection information.
 
+CONTRIBUTING.md - Quick introduction on how to contribute
+
 TODO - Rough list of upcoming tasks.
 
 SIGNATURE - Checksum verification via PGP, generated by Module::Signature.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/SIGNATURE new/DBD-Pg-3.12.0/SIGNATURE
--- old/DBD-Pg-3.11.1/SIGNATURE 2020-04-28 17:11:32.000000000 +0200
+++ new/DBD-Pg-3.12.0/SIGNATURE 2020-05-07 19:48:41.000000000 +0200
@@ -16,34 +16,35 @@
 
 SHA256 e4c6f4cdc9560a09492f196fc9a180867fab12742d7d05052d9842b395c6a9eb 
.dir-locals.el
 SHA256 4c92448e25229b74a54f864675f34376e8464727ad5cb82ac312d5db7f68605c 
.perlcriticrc
-SHA256 a33e5eec2c813984120f3dc741e4de2b0fa10c6bf81fd8e02951e237ef1b8b13 Changes
+SHA256 e8d3a038d88fb019bb96983f0c52125f86a4c3465466a20612bf4958ace70ed5 
CONTRIBUTING.md
+SHA256 bf9a8b789a0991bb898dd29487c8427c179d6341dbaf0bf6b2f9753e6c7c1840 Changes
 SHA256 d52a34724b2e3c40ffa2b3b378b574b9e3db27bc3132c88e0be3675f93f378a5 
LICENSES/artistic.txt
 SHA256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 
LICENSES/gpl-2.0.txt
-SHA256 a72fded2cbf8c60180225d8c91929b21d2e22758f29a8f6c94649ec260a56025 
MANIFEST
+SHA256 e15fb8180cca35de2c3de6854e5cf23152a7733dfa89640825ae13f6f83b0e72 
MANIFEST
 SHA256 d5def2a47197a203318a580bed42169dca47516c6d91d3880317a3043af07f9b 
MANIFEST.SKIP
-SHA256 dfc2b5e62a4eecc210303a75996e7d6de7e5ece94e7ae8143e9bbc5648184704 
META.yml
-SHA256 12d51ab1577bfb8fb3022e75f59c102dac5599abb01828eee4fa6840474bf369 
Makefile.PL
+SHA256 51bc09cfb1df2ba92e5c3b03ab348ec075cb2fa1d5fa4bc5204b4f7bbeb370e8 
META.yml
+SHA256 77a5de49edf1c8af46ac3fdac04f8a9641f7ccfd5bffad67d08502da7054632c 
Makefile.PL
 SHA256 d7d68c574b9469375f92aaf0bfd0e539f635a45da869f91390fdc401b1ccaefb Pg.h
-SHA256 410f800a67d90ea5f218c822479acec6ebf4a57f4ef1d64a11c64446a2fa8adf Pg.pm
+SHA256 c51d413ae7ef895c412ca28173d4d0f5059ef1289865482627578de4a4a82fbb Pg.pm
 SHA256 a5948aaaf9460d71ffa3fc99ccec17885af1c5597a794adfa230a6b46afc4835 Pg.xs
-SHA256 4c429598f7f2185f005fe03c1a928f6a13846036f5bd0e53bd9ee0ef0b96bf47 README
-SHA256 31e795eb74ec0bf7cee19cafa8386bc6b3891af3843e7e28fd4e3983a47b9d51 
README.dev
+SHA256 0425710d675c8b651d24efc5fd50cab2e99d099f1e9b688356268f8d35a13826 README
+SHA256 e0ac9d7aa558930a10e957d9cc950fc0676edd13036d7837426d0cc94ef43a09 
README.dev
 SHA256 a1d224603fe3a343ba0a0f40086065c81d57fbebc734b5382b0d359da16bdd94 
README.win32
-SHA256 b7431b9a03075a9ee15635ab1899cac490be54dd6e838d5a4859e9fe66711ee9 TODO
-SHA256 4e28a2e12e67b4aa6f426530c115b66a3f8fccbaca2c2a4affe1e5fa73513cd9 
dbdimp.c
+SHA256 ce798149ee5bf517fb76d6a652c3e4619bfda6ed706df068f2d0fd1f05ed259c TODO
+SHA256 689b4b4d42388cf4e47b4846002080598016eeae565ec879da0ab7a084398c20 
dbdimp.c
 SHA256 477e40202cc74bf3574359666b322b384a62da77051dc0043665186cf760ae3f 
dbdimp.h
 SHA256 9e53f7f41aaaf1b540e2784756ef6f16f61b63df0d9956483aded3c49b6e0f48 
dbivport.h
-SHA256 f95a02edfdd0cc57f7797102e77f66d51ff6219c5e0b9f945d99fc4659f6bc1c 
lib/Bundle/DBD/Pg.pm
+SHA256 593414481b22b773300c2eac728f15b658835d7baf049812257411360de35b2a 
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 9330b26d1b1c1f98822fccdc4c0803e06aad592f923b5d4ed597fe27bf1f9900 
t/01connect.t
+SHA256 929a898a75e6ae3bc244990e777f53353322d62ba42327add982d5e00b4dc8da 
t/01connect.t
 SHA256 9313402bbbd6a346f67537902ab59af15fbd41ef28b7731905a528384e5e1cbe 
t/01constants.t
 SHA256 68e9b2f4e7905a43516fe2e719f4de4f13327a2157b12dd24ce0372d7a885c23 
t/02attribs.t
-SHA256 3ab3cf4efab8ef297d81be43ed179add00364c2e6706054f1e191b1d7f03544d 
t/03dbmethod.t
-SHA256 6fb56525dbb0b2fc91afc2d4dcaad9157819bcb367deae03827551c52b321ee0 
t/03smethod.t
-SHA256 fea3ac69212c0b356e67acdd59441d6ce9f8a6a2ffb4ed24f96efe33dd3d4fd4 
t/04misc.t
+SHA256 667f747227cb42ccfe378ef079b446316e20347a31632962a8990b198df5e2ce 
t/03dbmethod.t
+SHA256 717a453088e5755dbfcd7fc895c80b692e187d7e95c22b8ac62719908804725a 
t/03smethod.t
+SHA256 9ddbdab7db536fa94376a602edbbf076c872d57bab3596ebf685c678739e4c6b 
t/04misc.t
 SHA256 be40368efe0cf7232c428fcbecee54acef88c5d5c6e27a146371ed1f854f3674 
t/06bytea.t
 SHA256 7e583fe6aedf5632a489048c35df35bc97463ae2b06e700be6790184a3e86295 
t/07copy.t
 SHA256 3743261fef1e22b9596ddebb8b89a77e1e1f20f7bc11d1bc972e3497b6955766 
t/08async.t
@@ -68,7 +69,7 @@
 SHA256 4628f92764bdb3e2b04bda7f30fc497231fbbf80dfd24cc09ee3df2e6d6d4387 
win32.mak
 -----BEGIN PGP SIGNATURE-----
 
-iF0EAREDAB0WIQQlKd9quPeUB+lERbS8m5BnFJZKyAUCXqhHpAAKCRC8m5BnFJZK
-yBN5AKChc9OVOAUlCpJNBbfumvzJDz6+BQCcDgM+pdLDl49JraapKESFvcy1RzY=
-=UGhy
+iF0EAREDAB0WIQQlKd9quPeUB+lERbS8m5BnFJZKyAUCXrRJ8AAKCRC8m5BnFJZK
+yKIYAJ9uJK/Z+zAsrhE2H1yBzsGywuVYsgCg8x04DnKvUhEEVu82vJ1KFp/eCLo=
+=3Zg+
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/TODO new/DBD-Pg-3.12.0/TODO
--- old/DBD-Pg-3.11.1/TODO      2020-04-18 20:35:04.000000000 +0200
+++ new/DBD-Pg-3.12.0/TODO      2020-05-05 17:14:36.000000000 +0200
@@ -8,6 +8,8 @@
 (although we prefer using cpan.org)
 
 
+- Get a lint checker for the spellcheck words: sorted, non-duplicated, valid, 
etc.
+- Get the "make fulltest" bit working properly
 - Change license to Artistic 2
 - Remove the "goto" calls in the tests
 - Force a test database rebuild when a git branch switch is detected
@@ -15,7 +17,7 @@
 - Enable native JSON decoding, similar to arrays, perhaps with JSON::PP
 - Allow partial result sets, either via PQsetSingleRowMode or something better
 - Hack libpq to make user-defined number of rows returned
-- Map hstore to hashes ala array/array mapping
+- Map hstore to hashes similar to the array/array mapping
 - Fix ping problem: 
http://www.cpantesters.org/cpan/report/53c5cc72-6d39-11e1-8b9d-82c3d2d9ea9f
 - Use WITH HOLD for cursor work
 - Devise a way to automatically create ppm for Windows builds
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/dbdimp.c new/DBD-Pg-3.12.0/dbdimp.c
--- old/DBD-Pg-3.11.1/dbdimp.c  2020-04-23 20:31:33.000000000 +0200
+++ new/DBD-Pg-3.12.0/dbdimp.c  2020-05-05 20:11:19.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.11.1 */");
+    result = PQexec(imp_dbh->conn, "/* DBD::Pg ping test v3.12.0 */");
     status = PQresultStatus(result);
     PQclear(result);
     if (PGRES_FATAL_ERROR == status) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/lib/Bundle/DBD/Pg.pm 
new/DBD-Pg-3.12.0/lib/Bundle/DBD/Pg.pm
--- old/DBD-Pg-3.11.1/lib/Bundle/DBD/Pg.pm      2020-04-23 20:31:39.000000000 
+0200
+++ new/DBD-Pg-3.12.0/lib/Bundle/DBD/Pg.pm      2020-05-05 20:11:28.000000000 
+0200
@@ -5,7 +5,7 @@
 use warnings;
 use 5.008001;
 
-our $VERSION = '3.11.1';
+our $VERSION = '3.12.0';
 
 1;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/t/01connect.t 
new/DBD-Pg-3.12.0/t/01connect.t
--- old/DBD-Pg-3.11.1/t/01connect.t     2020-04-28 16:07:03.000000000 +0200
+++ new/DBD-Pg-3.12.0/t/01connect.t     2020-05-05 20:47:52.000000000 +0200
@@ -48,7 +48,13 @@
 my $SQL = 'SELECT name,setting FROM pg_settings WHERE name IN (' .
     (join ',' => map { qq{'$_'} } @vals) . ')';
 for (@{$dbh->selectall_arrayref($SQL)}) {
-    $set{$_->[0]} = $_->[1];
+    my ($name, $value) = @$_;
+    ## Skip 'normal' settings
+    next if $name eq 'array_nulls' and $value eq 'on';
+    next if $name eq 'standard_conforming_strings' and $value eq 'on';
+    next if $name eq 'backslash_quote' and $value ne 'off';
+    next if $name =~ /encoding/ and $value eq 'UTF8';
+    $set{$name} = $value;
 }
 
 my $dbh2 = connect_database();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/t/03dbmethod.t 
new/DBD-Pg-3.12.0/t/03dbmethod.t
--- old/DBD-Pg-3.11.1/t/03dbmethod.t    2020-04-17 21:38:02.000000000 +0200
+++ new/DBD-Pg-3.12.0/t/03dbmethod.t    2020-05-04 22:27:06.000000000 +0200
@@ -917,9 +917,13 @@
 
 my $with_oids = $pgversion < 120000 ? 'WITH OIDS' : '';
 my $with_include = $pgversion >= 110000;
-my $hash_index_idx = 4;
+my $hash_index_idx = 3;
 $hash_index_idx += 1 if $with_oids;
 $hash_index_idx += 2 if $with_include;
+my ($desc, $d) = $pgversion >= 80300 ? ('DESC', 'D') : ('', 'A');
+my ($nulls_first, $nf) = $pgversion >= 80300 ? ('NULLS FIRST', 'first') : ('', 
'last');
+my ($nulls_last, $nl) = $pgversion >= 80300 ? ('NULLS LAST', 'last') : ('', 
'last');
+
 ## Create some tables with various indexes
 {
     local $SIG{__WARN__} = sub {};
@@ -937,10 +941,10 @@
     $dbh->do("CREATE TABLE $table1 (a INT, b INT NOT NULL, c INT NOT NULL, ".
              'CONSTRAINT dbd_pg_test1_pk PRIMARY KEY (a))');
     $dbh->do("ALTER TABLE $table1 ADD CONSTRAINT dbd_pg_test1_uc1 UNIQUE (b)");
-    $dbh->do("CREATE UNIQUE INDEX dbd_pg_test1_index_c ON $table1(c)");
+    $dbh->do("CREATE UNIQUE INDEX dbd_pg_test1_index_c ON $table1(c 
$nulls_first)");
 
     $dbh->do("CREATE TABLE $table2 (a INT, b INT, c INT, PRIMARY KEY(a,b), 
UNIQUE(b,c))");
-    $dbh->do("CREATE INDEX dbd_pg_test2_expr ON $table2((a+b),c)");
+    $dbh->do("CREATE INDEX dbd_pg_test2_expr ON $table2((a+b) $desc, c $desc 
$nulls_last)");
 
     $dbh->do("CREATE TABLE $table3 (a INT, b INT, c INT, PRIMARY KEY(a)) 
$with_oids");
     $dbh->do("CREATE UNIQUE INDEX dbd_pg_test3_index_b ON $table3(b)");
@@ -954,54 +958,54 @@
 
 my $correct_stats = {
 one => [
-    [ $dbh->{pg_db}, $schema, $table1, undef, undef, undef, 'table', undef, 
undef, undef, '0', '0', undef, undef, undef ],
-    [ $dbh->{pg_db}, $schema, $table1, '0', undef, 'dbd_pg_test1_index_c', 
'btree',  1, 'c', 'A', '0', '1', undef, 'c', '1' ],
-    [ $dbh->{pg_db}, $schema, $table1, '0', undef, 'dbd_pg_test1_pk',      
'btree',  1, 'a', 'A', '0', '1', undef, 'a', '1' ],
-    [ $dbh->{pg_db}, $schema, $table1, '0', undef, 'dbd_pg_test1_uc1',     
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1' ],
+    [ $dbh->{pg_db}, $schema, $table1, '0', undef, 'dbd_pg_test1_index_c', 
'btree',  1, 'c', 'A', '0', '1', undef, 'c', '1', $nf ],
+    [ $dbh->{pg_db}, $schema, $table1, '0', undef, 'dbd_pg_test1_pk',      
'btree',  1, 'a', 'A', '0', '1', undef, 'a', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table1, '0', undef, 'dbd_pg_test1_uc1',     
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table1, undef, undef, undef, 'table', undef, 
undef, undef, '0', '0', undef, undef, undef, undef ],
     ],
     two => [
-    [ $dbh->{pg_db}, $schema, $table2, undef, undef, undef, 'table', undef, 
undef, undef, '0', '0', undef, undef, undef ],
-    [ $dbh->{pg_db}, $schema, $table2, '0', undef, 'dbd_pg_test2_b_key',   
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1' ],
-    [ $dbh->{pg_db}, $schema, $table2, '0', undef, 'dbd_pg_test2_b_key',   
'btree',  2, 'c', 'A', '0', '1', undef, 'c', '1' ],
-    [ $dbh->{pg_db}, $schema, $table2, '0', undef, 'dbd_pg_test2_pkey',    
'btree',  1, 'a', 'A', '0', '1', undef, 'a', '1' ],
-    [ $dbh->{pg_db}, $schema, $table2, '0', undef, 'dbd_pg_test2_pkey',    
'btree',  2, 'b', 'A', '0', '1', undef, 'b', '1' ],
-    [ $dbh->{pg_db}, $schema, $table2, '1', undef, 'dbd_pg_test2_expr',    
'btree',  1, undef, 'A', '0', '1', undef, '(a + b)', '1' ],
-    [ $dbh->{pg_db}, $schema, $table2, '1', undef, 'dbd_pg_test2_expr',    
'btree',  2, 'c', 'A', '0', '1', undef, 'c', '1' ],
+    [ $dbh->{pg_db}, $schema, $table2, '0', undef, 'dbd_pg_test2_b_key',   
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table2, '0', undef, 'dbd_pg_test2_b_key',   
'btree',  2, 'c', 'A', '0', '1', undef, 'c', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table2, '0', undef, 'dbd_pg_test2_pkey',    
'btree',  1, 'a', 'A', '0', '1', undef, 'a', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table2, '0', undef, 'dbd_pg_test2_pkey',    
'btree',  2, 'b', 'A', '0', '1', undef, 'b', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table2, '1', undef, 'dbd_pg_test2_expr',    
'btree',  1, undef, $d, '0', '1', undef, '(a + b)', '1', $nf ],
+    [ $dbh->{pg_db}, $schema, $table2, '1', undef, 'dbd_pg_test2_expr',    
'btree',  2, 'c', $d, '0', '1', undef, 'c', '1', $nl ],
+    [ $dbh->{pg_db}, $schema, $table2, undef, undef, undef, 'table', undef, 
undef, undef, '0', '0', undef, undef, undef, undef ],
     ],
     three => [
-    [ $dbh->{pg_db}, $schema, $table3, undef, undef, undef, 'table', undef, 
undef, undef, '0', '0', undef, undef, undef ],
     ($with_include ? (
-        [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_incl',    
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1' ],
-        [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_incl',    
'btree',  2, 'c', 'A', '0', '1', undef, 'c', '0' ],
+        [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_incl',    
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1', 'last' ],
+        [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_incl',    
'btree',  2, 'c', undef, '0', '1', undef, 'c', '0', undef ],
     ) :()),
-    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_index_b', 
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1' ],
-    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_pkey',    
'btree',  1, 'a', 'A', '0', '1', undef, 'a', '1' ],
-    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_pred',    
'btree',  1, 'c', 'A', '0', '1', '((c > 0) AND (c < 45))', 'c', '1' ],
-    ($with_oids ? [ $dbh->{pg_db}, $schema, $table3, '1', undef, 
'dbd_pg_test3_oid',     'btree',  1, 'oid', 'A', '0', '1', undef, 'oid', '1' ] 
: ()),
-    [ $dbh->{pg_db}, $schema, $table3, '1', undef, 'dbd_pg_test3_index_c', 
'hashed', 1, 'c', 'A', '0', '4', undef, 'c', '1' ],
+    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_index_b', 
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_pkey',    
'btree',  1, 'a', 'A', '0', '1', undef, 'a', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_pred',    
'btree',  1, 'c', 'A', '0', '1', '((c > 0) AND (c < 45))', 'c', '1', 'last' ],
+    ($with_oids ? [ $dbh->{pg_db}, $schema, $table3, '1', undef, 
'dbd_pg_test3_oid',     'btree',  1, 'oid', 'A', '0', '1', undef, 'oid', '1', 
'last' ] : ()),
+    [ $dbh->{pg_db}, $schema, $table3, '1', undef, 'dbd_pg_test3_index_c', 
'hashed', 1, 'c', undef, '0', '4', undef, 'c', '1', undef ],
+    [ $dbh->{pg_db}, $schema, $table3, undef, undef, undef, 'table', undef, 
undef, undef, '0', '0', undef, undef, undef, undef ],
 ],
     three_uo => [
     ($with_include ? (
-        [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_incl',    
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1' ],
-        [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_incl',    
'btree',  2, 'c', 'A', '0', '1', undef, 'c', '0' ],
+        [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_incl',    
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1', 'last' ],
+        [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_incl',    
'btree',  2, 'c', undef, '0', '1', undef, 'c', '0', undef ],
     ) :()),
-    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_index_b', 
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1' ],
-    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_pkey',    
'btree',  1, 'a', 'A', '0', '1', undef, 'a', '1' ],
-    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_pred',    
'btree',  1, 'c', 'A', '0', '1', '((c > 0) AND (c < 45))', 'c', '1' ],
+    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_index_b', 
'btree',  1, 'b', 'A', '0', '1', undef, 'b', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_pkey',    
'btree',  1, 'a', 'A', '0', '1', undef, 'a', '1', 'last' ],
+    [ $dbh->{pg_db}, $schema, $table3, '0', undef, 'dbd_pg_test3_pred',    
'btree',  1, 'c', 'A', '0', '1', '((c > 0) AND (c < 45))', 'c', '1', 'last' ],
     ],
 };
 
 my @stats_columns = qw(
     TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE
     ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
-    pg_expression pg_is_key_column
+    pg_expression pg_is_key_column pg_null_ordering
 );
 
 ## Make some per-version tweaks
 
 ## 8.5 changed the way foreign key names are generated
 if ($pgversion >= 80500) {
-    $correct_stats->{two}[1][5] = $correct_stats->{two}[2][5] = 
'dbd_pg_test2_b_c_key';
+    $correct_stats->{two}[0][5] = $correct_stats->{two}[1][5] = 
'dbd_pg_test2_b_c_key';
 }
 
 my $stats;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/t/03smethod.t 
new/DBD-Pg-3.12.0/t/03smethod.t
--- old/DBD-Pg-3.11.1/t/03smethod.t     2020-04-17 20:15:05.000000000 +0200
+++ new/DBD-Pg-3.12.0/t/03smethod.t     2020-05-05 16:54:24.000000000 +0200
@@ -701,7 +701,7 @@
 
 SKIP: {
     if ($^O =~ /Win/) {
-        skip ('Cannot test POSIX signalling on Windows', 1);
+        skip ('Cannot test POSIX signaling on Windows', 1);
     }
 
     $dbh->do('INSERT INTO dbd_pg_test (id) VALUES (?)',undef,1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-Pg-3.11.1/t/04misc.t new/DBD-Pg-3.12.0/t/04misc.t
--- old/DBD-Pg-3.11.1/t/04misc.t        2020-04-17 20:15:05.000000000 +0200
+++ new/DBD-Pg-3.12.0/t/04misc.t        2020-05-05 20:32:09.000000000 +0200
@@ -528,7 +528,8 @@
 
 # PostgreSQL 8.1 fails with "ERROR:  stack depth limit exceeded"
 # with the default value of 2048
-$dbh->do('set max_stack_depth = 4096');
+my $newdepth = $^O =~ /Win32/ ? 3000 : 4096;
+$dbh->do("set max_stack_depth = $newdepth");
 ## Check for problems with insane number of placeholders
 for my $ph (1..13) {
     my $total = 2**$ph;


Reply via email to