From 77f5952318a6fd58617dcd35d7c3ab44471ad271 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Tue, 4 Jul 2017 11:18:48 +0200
Subject: [PATCH] Fix pgsql compatibility

---
 htdocs/core/db/mysqli.class.php | 10 +++++-----
 htdocs/core/db/pgsql.class.php  |  7 +++++--
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php
index 526d43de0ab..4358e8695fe 100644
--- a/htdocs/core/db/mysqli.class.php
+++ b/htdocs/core/db/mysqli.class.php
@@ -735,13 +735,13 @@ class DoliDBMysqli extends DoliDB
     {
         // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra
         // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment');
-        $sql= "ALTER TABLE ".$table." ADD `".$field_name."` ";
+        $sql= "ALTER TABLE ".$table." ADD ".$field_name." ";
         $sql.= $field_desc['type'];
         if(preg_match("/^[^\s]/i",$field_desc['value']))
-        if (! in_array($field_desc['type'],array('date','datetime')))
-        {
-            $sql.= "(".$field_desc['value'].")";
-        }
+            if (! in_array($field_desc['type'],array('date','datetime')))
+            {
+                $sql.= "(".$field_desc['value'].")";
+            }
         if(preg_match("/^[^\s]/i",$field_desc['attribute']))
         $sql.= " ".$field_desc['attribute'];
         if(preg_match("/^[^\s]/i",$field_desc['null']))
diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php
index 4aa56b367f3..d02ff4a1341 100644
--- a/htdocs/core/db/pgsql.class.php
+++ b/htdocs/core/db/pgsql.class.php
@@ -1048,8 +1048,11 @@ class DoliDBPgsql extends DoliDB
 		// ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment');
 		$sql= "ALTER TABLE ".$table." ADD ".$field_name." ";
 		$sql .= $field_desc['type'];
-		if ($field_desc['type'] != 'int' && preg_match("/^[^\s]/i",$field_desc['value']))
-		$sql .= "(".$field_desc['value'].")";
+		if(preg_match("/^[^\s]/i",$field_desc['value']))
+		    if (! in_array($field_desc['type'],array('int','date','datetime')))
+		    {
+		        $sql.= "(".$field_desc['value'].")";
+		    }
 		if (preg_match("/^[^\s]/i",$field_desc['attribute']))
 		$sql .= " ".$field_desc['attribute'];
 		if (preg_match("/^[^\s]/i",$field_desc['null']))
-- 
GitLab