From b6e658aaaa3d110afe150bc76578be658dd8ef51 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 9 Mar 2011 15:01:39 +0000 Subject: [PATCH] Fix: Status of db hanlder not modified on disconnect --- htdocs/lib/databases/mssql.lib.php | 27 ++++++++++++++++----------- htdocs/lib/databases/mysql.lib.php | 27 ++++++++++++++++----------- htdocs/lib/databases/mysqli.lib.php | 19 ++++++++++++------- htdocs/lib/databases/pgsql.lib.php | 24 +++++++++++++++--------- 4 files changed, 59 insertions(+), 38 deletions(-) diff --git a/htdocs/lib/databases/mssql.lib.php b/htdocs/lib/databases/mssql.lib.php index 45946233604..9be427cdc0c 100644 --- a/htdocs/lib/databases/mssql.lib.php +++ b/htdocs/lib/databases/mssql.lib.php @@ -230,16 +230,21 @@ class DoliDb } - /** - * \brief Fermeture d'une connexion vers une database. - * \return resource - * \see connect - */ - function close() - { - dol_syslog("DoliDB::disconnect",LOG_DEBUG); - return $this->db?mssql_close($this->db):0; - } + /** + * Close database connexion + * @return boolean True if disconnect successfull, false otherwise + * @see connect + */ + function close() + { + if ($this->db) + { + //dol_syslog("DoliDB::disconnect",LOG_DEBUG); + $this->connected=0; + return mssql_close($this->db); + } + return false; + } /** @@ -930,7 +935,7 @@ class DoliDb else return 1; } - + /** * \brief Drop a field in table * \param table Nom de la table diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php index 663f4e14ee7..31449e3de88 100644 --- a/htdocs/lib/databases/mysql.lib.php +++ b/htdocs/lib/databases/mysql.lib.php @@ -274,16 +274,21 @@ class DoliDb } - /** - * \brief Fermeture d'une connexion vers une database. - * \return resource - * \seealso connect - */ - function close() - { - dol_syslog("DoliDB::disconnect",LOG_DEBUG); - return ($this->db?mysql_close($this->db):0); - } + /** + * Close database connexion + * @return boolean True if disconnect successfull, false otherwise + * @see connect + */ + function close() + { + if ($this->db) + { + //dol_syslog("DoliDB::disconnect",LOG_DEBUG); + $this->connected=0; + return mysql_close($this->db); + } + return false; + } /** @@ -993,7 +998,7 @@ class DoliDb else return 1; } - + /** * \brief Drop a field in table * \param table Nom de la table diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php index 5b4c4f7e921..552d8226795 100644 --- a/htdocs/lib/databases/mysqli.lib.php +++ b/htdocs/lib/databases/mysqli.lib.php @@ -282,14 +282,19 @@ class DoliDb /** - * \brief Fermeture d'une connexion vers une database. - * \return resource - * \seealso connect + * Close database connexion + * @return boolean True if disconnect successfull, false otherwise + * @see connect */ function close() { - dol_syslog("DoliDB::disconnect",LOG_DEBUG); - return $this->db?mysqli_close($this->db):0; + if ($this->db) + { + //dol_syslog("DoliDB::disconnect",LOG_DEBUG); + $this->connected=0; + return mysqli_close($this->db); + } + return false; } @@ -1004,8 +1009,8 @@ class DoliDb return -1; else return 1; - } - + } + /** * \brief Drop a field in table * \param table Nom de la table diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php index a95bff440d7..c375eb755fd 100644 --- a/htdocs/lib/databases/pgsql.lib.php +++ b/htdocs/lib/databases/pgsql.lib.php @@ -414,15 +414,21 @@ class DoliDb return explode('.',$this->getVersion()); } - /** - * \brief Fermeture d'une connexion vers une database. - * \return resource - */ - function close() - { - dol_syslog("DoliDB::disconnect",LOG_DEBUG); - return $this->db?pg_close($this->db):0; - } + /** + * Close database connexion + * @return boolean True if disconnect successfull, false otherwise + * @see connect + */ + function close() + { + if ($this->db) + { + //dol_syslog("DoliDB::disconnect",LOG_DEBUG); + $this->connected=0; + return pg_close($this->db); + } + return false; + } /** * \brief Debut d'une transaction.