Fix pgsql compatibility

This commit is contained in:
Laurent Destailleur 2017-07-04 11:18:48 +02:00
parent 95cf36c43b
commit 77f5952318
2 changed files with 10 additions and 7 deletions

View File

@ -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']))

View File

@ -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']))