Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Mar 2020 20:39:11 +0000 (UTC)
From:      Michael Reifenberger <mr@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r528440 - in head/databases/pear-Horde_Db: . files
Message-ID:  <202003142039.02EKdBTn024875@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mr
Date: Sat Mar 14 20:39:10 2020
New Revision: 528440
URL: https://svnweb.freebsd.org/changeset/ports/528440

Log:
  Add upstream patch to Postgresql/Schema.php fixing the access for PostgreSQL >= 10
  (extracted from the github repo of Horde-Db)
  
  Maintainer timeout: 4 weeks

Added:
  head/databases/pear-Horde_Db/files/
  head/databases/pear-Horde_Db/files/patch-lib_Horde_Db_Adapter_Postgresql_Schema.php   (contents, props changed)
Modified:
  head/databases/pear-Horde_Db/Makefile

Modified: head/databases/pear-Horde_Db/Makefile
==============================================================================
--- head/databases/pear-Horde_Db/Makefile	Sat Mar 14 20:30:46 2020	(r528439)
+++ head/databases/pear-Horde_Db/Makefile	Sat Mar 14 20:39:10 2020	(r528440)
@@ -2,6 +2,7 @@
 
 PORTNAME=	Horde_Db
 PORTVERSION=	2.4.0
+PORTREVISION=	1
 CATEGORIES=	databases www pear
 
 MAINTAINER=	horde@FreeBSD.org

Added: head/databases/pear-Horde_Db/files/patch-lib_Horde_Db_Adapter_Postgresql_Schema.php
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/databases/pear-Horde_Db/files/patch-lib_Horde_Db_Adapter_Postgresql_Schema.php	Sat Mar 14 20:39:10 2020	(r528440)
@@ -0,0 +1,82 @@
+--- lib/Horde/Db/Adapter/Postgresql/Schema.php.orig	2017-02-27 10:00:17 UTC
++++ lib/Horde/Db/Adapter/Postgresql/Schema.php
+@@ -3,12 +3,15 @@
+  * Copyright 2007 Maintainable Software, LLC
+  * Copyright 2008-2017 Horde LLC (http://www.horde.org/)
+  *
++ * See the enclosed file LICENSE for license information (BSD). If you
++ * did not receive this file, see http://www.horde.org/licenses/bsd.
++ *
+  * @author     Mike Naberezny <mike@maintainable.com>
+  * @author     Derek DeVries <derek@maintainable.com>
+  * @author     Chuck Hagenbuch <chuck@horde.org>
+  * @author     Jan Schneider <jan@horde.org>
+- * @license    http://www.horde.org/licenses/bsd
+  * @category   Horde
++ * @license    http://www.horde.org/licenses/bsd
+  * @package    Db
+  * @subpackage Adapter
+  */
+@@ -21,8 +24,10 @@
+  * @author     Derek DeVries <derek@maintainable.com>
+  * @author     Chuck Hagenbuch <chuck@horde.org>
+  * @author     Jan Schneider <jan@horde.org>
+- * @license    http://www.horde.org/licenses/bsd
+  * @category   Horde
++ * @copyright  2007 Maintainable Software, LLC
++ * @copyright  2008-2017 Horde LLC
++ * @license    http://www.horde.org/licenses/bsd
+  * @package    Db
+  * @subpackage Adapter
+  */
+@@ -1057,13 +1062,32 @@ class Horde_Db_Adapter_Postgresql_Schema extends Horde
+                 $quotedSequence = $this->quoteSequenceName($sequence);
+                 $quotedTable = $this->quoteTableName($table);
+                 $quotedPk = $this->quoteColumnName($pk);
+-
+-                $sql = sprintf('SELECT setval(%s, (SELECT COALESCE(MAX(%s) + (SELECT increment_by FROM %s), (SELECT min_value FROM %s)) FROM %s), false)',
+-                               $quotedSequence,
+-                               $quotedPk,
+-                               $sequence,
+-                               $sequence,
+-                               $quotedTable);
++                if ($this->postgresqlVersion() >= 100000) {
++                    $sql = sprintf('
++                        SELECT setval(
++                            %s,
++                            (SELECT COALESCE(
++                                MAX(%s) + (SELECT increment_by FROM pg_sequences WHERE schemaname=ANY(CURRENT_SCHEMAS(false)) AND sequencename=%s),
++                                (SELECT min_value FROM pg_sequences WHERE schemaname=ANY(CURRENT_SCHEMAS(false)) AND sequencename=%s)
++                             ) FROM %s),
++                             false
++                         )',
++                         $quotedSequence,
++                         $quotedPk,
++                         $quotedSequence,
++                         $quotedSequence,
++                         $quotedTable
++                    );
++                } else {
++                    $sql = sprintf(
++                        'SELECT setval(%s, (SELECT COALESCE(MAX(%s) + (SELECT increment_by FROM %s), (SELECT min_value FROM %s)) FROM %s), false)',
++                        $quotedSequence,
++                        $quotedPk,
++                        $sequence,
++                        $sequence,
++                        $quotedTable
++                    );
++                }
+                 $this->selectValue($sql, 'Reset sequence');
+             } else {
+                 if ($this->_logger) {
+@@ -1138,9 +1162,7 @@ class Horde_Db_Adapter_Postgresql_Schema extends Horde
+     {
+         if (!$this->_version) {
+             try {
+-                $version = $this->selectValue('SELECT version()');
+-                if (preg_match('/PostgreSQL (\d+)\.(\d+)\.(\d+)/', $version, $matches))
+-                    $this->_version = ($matches[1] * 10000) + ($matches[2] * 100) + $matches[3];
++                $this->_version = $this->selectValue('SHOW server_version_num');
+             } catch (Exception $e) {
+                 return 0;
+             }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003142039.02EKdBTn024875>