|
@@ -147,10 +147,10 @@ class DoliDBPgsql extends DoliDB
|
|
|
*
|
|
|
* @param string $line SQL request line to convert
|
|
|
* @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
|
|
|
- * @param string $unescapeslashquot Unescape slash quote with quote quote
|
|
|
+ * @param bool $unescapeslashquot Unescape slash quote with quote quote
|
|
|
* @return string SQL request line converted
|
|
|
*/
|
|
|
- static function convertSQLFromMysql($line,$type='auto',$unescapeslashquot=0)
|
|
|
+ static function convertSQLFromMysql($line,$type='auto',$unescapeslashquot=false)
|
|
|
{
|
|
|
// Removed empty line if this is a comment line for SVN tagging
|
|
|
if (preg_match('/^--\s\$Id/i',$line)) {
|
|
@@ -353,7 +353,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
* On compare juste manuellement si la database choisie est bien celle activee par la connexion
|
|
|
*
|
|
|
* @param string $database Name of database
|
|
|
- * @return boolean true if OK, false if KO
|
|
|
+ * @return bool true if OK, false if KO
|
|
|
*/
|
|
|
function select_db($database)
|
|
|
{
|
|
@@ -369,7 +369,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
* @param string $passwd Password
|
|
|
* @param string $name Name of database (not used for mysql, used for pgsql)
|
|
|
* @param integer $port Port of database server
|
|
|
- * @return resource Database access handler
|
|
|
+ * @return false|resource Database access handler
|
|
|
* @see close
|
|
|
*/
|
|
|
function connect($host, $login, $passwd, $name, $port=0)
|
|
@@ -463,7 +463,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
* @param string $query SQL query string
|
|
|
* @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions).
|
|
|
* @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
|
|
|
- * @return resource Resultset of answer
|
|
|
+ * @return false|resource Resultset of answer
|
|
|
*/
|
|
|
function query($query,$usesavepoint=0,$type='auto')
|
|
|
{
|
|
@@ -530,8 +530,8 @@ class DoliDBPgsql extends DoliDB
|
|
|
/**
|
|
|
* Renvoie la ligne courante (comme un objet) pour le curseur resultset
|
|
|
*
|
|
|
- * @param Resultset $resultset Curseur de la requete voulue
|
|
|
- * @return Object Object result line or false if KO or end of cursor
|
|
|
+ * @param resource $resultset Curseur de la requete voulue
|
|
|
+ * @return false|object Object result line or false if KO or end of cursor
|
|
|
*/
|
|
|
function fetch_object($resultset)
|
|
|
{
|
|
@@ -544,7 +544,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
* Return datas as an array
|
|
|
*
|
|
|
* @param resource $resultset Resultset of request
|
|
|
- * @return array Array
|
|
|
+ * @return false|array Array
|
|
|
*/
|
|
|
function fetch_array($resultset)
|
|
|
{
|
|
@@ -557,7 +557,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
* Return datas as an array
|
|
|
*
|
|
|
* @param resource $resultset Resultset of request
|
|
|
- * @return array Array
|
|
|
+ * @return false|array Array
|
|
|
*/
|
|
|
function fetch_row($resultset)
|
|
|
{
|
|
@@ -569,8 +569,8 @@ class DoliDBPgsql extends DoliDB
|
|
|
/**
|
|
|
* Return number of lines for result of a SELECT
|
|
|
*
|
|
|
- * @param Resultset $resultset Resulset of requests
|
|
|
- * @return int Nb of lines
|
|
|
+ * @param resourse $resultset Resulset of requests
|
|
|
+ * @return int Nb of lines, -1 on error
|
|
|
* @see affected_rows
|
|
|
*/
|
|
|
function num_rows($resultset)
|
|
@@ -583,7 +583,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
/**
|
|
|
* Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE
|
|
|
*
|
|
|
- * @param Resultset $resultset Result set of request
|
|
|
+ * @param resource $resultset Result set of request
|
|
|
* @return int Nb of lines
|
|
|
* @see num_rows
|
|
|
*/
|
|
@@ -600,10 +600,10 @@ class DoliDBPgsql extends DoliDB
|
|
|
/**
|
|
|
* Libere le dernier resultset utilise sur cette connexion
|
|
|
*
|
|
|
- * @param Resultset $resultset Result set of request
|
|
|
+ * @param resource $resultset Result set of request
|
|
|
* @return void
|
|
|
*/
|
|
|
- function free($resultset=0)
|
|
|
+ function free($resultset=null)
|
|
|
{
|
|
|
// If resultset not provided, we take the last used by connexion
|
|
|
if (! is_resource($resultset)) { $resultset=$this->_results; }
|
|
@@ -746,7 +746,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
*
|
|
|
* @param string $tab Table name concerned by insert. Ne sert pas sous MySql mais requis pour compatibilite avec Postgresql
|
|
|
* @param string $fieldid Field name
|
|
|
- * @return int Id of row
|
|
|
+ * @return string Id of row
|
|
|
*/
|
|
|
function last_insert_id($tab,$fieldid='rowid')
|
|
|
{
|
|
@@ -827,7 +827,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
* @param string $charset Charset used to store data
|
|
|
* @param string $collation Charset used to sort data
|
|
|
* @param string $owner Username of database owner
|
|
|
- * @return resource resource defined if OK, null if KO
|
|
|
+ * @return false|resource resource defined if OK, null if KO
|
|
|
*/
|
|
|
function DDLCreateDb($database,$charset='',$collation='',$owner='')
|
|
|
{
|
|
@@ -910,11 +910,13 @@ class DoliDBPgsql extends DoliDB
|
|
|
* @param string $type Type de la table
|
|
|
* @param array $unique_keys Tableau associatifs Nom de champs qui seront clef unique => valeur
|
|
|
* @param array $fulltext_keys Tableau des Nom de champs qui seront indexes en fulltext
|
|
|
- * @param string $keys Tableau des champs cles noms => valeur
|
|
|
+ * @param array $keys Tableau des champs cles noms => valeur
|
|
|
* @return int <0 if KO, >=0 if OK
|
|
|
*/
|
|
|
- function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys="",$fulltext_keys="",$keys="")
|
|
|
+ function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys=null,$fulltext_keys=null,$keys=null)
|
|
|
{
|
|
|
+ // FIXME: $fulltext_keys parameter is unused
|
|
|
+
|
|
|
// cles recherchees dans le tableau des descriptions (fields) : type,value,attribute,null,default,extra
|
|
|
// ex. : $fields['rowid'] = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment');
|
|
|
$sql = "create table ".$table."(";
|
|
@@ -944,7 +946,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
if($primary_key != "")
|
|
|
$pk = "primary key(".$primary_key.")";
|
|
|
|
|
|
- if($unique_keys != "")
|
|
|
+ if(is_array($unique_keys))
|
|
|
{
|
|
|
$i = 0;
|
|
|
foreach($unique_keys as $key => $value)
|
|
@@ -953,7 +955,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
$i++;
|
|
|
}
|
|
|
}
|
|
|
- if($keys != "")
|
|
|
+ if(is_array($keys))
|
|
|
{
|
|
|
$i = 0;
|
|
|
foreach($keys as $key => $value)
|
|
@@ -965,9 +967,9 @@ class DoliDBPgsql extends DoliDB
|
|
|
$sql .= implode(',',$sqlfields);
|
|
|
if($primary_key != "")
|
|
|
$sql .= ",".$pk;
|
|
|
- if($unique_keys != "")
|
|
|
+ if(is_array($unique_keys))
|
|
|
$sql .= ",".implode(',',$sqluq);
|
|
|
- if($keys != "")
|
|
|
+ if(is_array($keys))
|
|
|
$sql .= ",".implode(',',$sqlk);
|
|
|
$sql .=") type=".$type;
|
|
|
|
|
@@ -1007,7 +1009,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
*
|
|
|
* @param string $table Name of table
|
|
|
* @param string $field Optionnel : Name of field if we want description of field
|
|
|
- * @return resource Resultset x (x->attname)
|
|
|
+ * @return false|resource Resultset x (x->attname)
|
|
|
*/
|
|
|
function DDLDescTable($table,$field="")
|
|
|
{
|
|
@@ -1052,8 +1054,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
|
|
|
dol_syslog($sql,LOG_DEBUG);
|
|
|
if(! $this -> query($sql))
|
|
|
- return -1;
|
|
|
- else
|
|
|
+ return -1;
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
@@ -1078,8 +1079,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
|
|
|
dol_syslog($sql,LOG_DEBUG);
|
|
|
if (! $this->query($sql))
|
|
|
- return -1;
|
|
|
- else
|
|
|
+ return -1;
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
@@ -1099,7 +1099,7 @@ class DoliDBPgsql extends DoliDB
|
|
|
$this->error=$this->lasterror();
|
|
|
return -1;
|
|
|
}
|
|
|
- else return 1;
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
/**
|