svn commit: r528440 - in head/databases/pear-Horde_Db: . files
Michael Reifenberger
mr at FreeBSD.org
Sat Mar 14 20:39:12 UTC 2020
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 at 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 at maintainable.com>
+ * @author Derek DeVries <derek at maintainable.com>
+ * @author Chuck Hagenbuch <chuck at horde.org>
+ * @author Jan Schneider <jan at 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 at maintainable.com>
+ * @author Chuck Hagenbuch <chuck at horde.org>
+ * @author Jan Schneider <jan at 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;
+ }
More information about the svn-ports-all
mailing list