From 501dccabc2e87e8165ab6abd137626198a95f7bb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 9 Jul 2012 14:58:42 +0200 Subject: [PATCH] Fix: property must be set if success --- htdocs/lib/databases/pgsql.lib.php | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php index e808af1db5e..bde4780d7f2 100644 --- a/htdocs/lib/databases/pgsql.lib.php +++ b/htdocs/lib/databases/pgsql.lib.php @@ -347,40 +347,46 @@ class DoliDb { // use pg_connect() instead of pg_pconnect(): // To us persistent connection because this one cost 1ms, non persistent cost 30ms - + $this->db = false; - + // connections parameters must be protected (only \ and ' according to pg_connect() manual) $host = str_replace(array("\\", "'"), array("\\\\", "\\'"), $host); $login = str_replace(array("\\", "'"), array("\\\\", "\\'"), $login); $passwd = str_replace(array("\\", "'"), array("\\\\", "\\'"), $passwd); $name = str_replace(array("\\", "'"), array("\\\\", "\\'"), $name); $port = str_replace(array("\\", "'"), array("\\\\", "\\'"), $port); - + //if (! $name) $name="postgres"; - + // try first Unix domain socket (local) if (! $host || $host == "" || $host == "localhost") { $con_string = "dbname='".$name."' user='".$login."' password='".$passwd."'"; $this->db = pg_connect($con_string); } - + // if local connection failed or not requested, use TCP/IP if (! $this->db) { if (! $host) $host = "localhost"; if (! $port) $port = 5432; - + $con_string = "host='".$host."' port='".$port."' dbname='".$name."' user='".$login."' password='".$passwd."'"; $this->db = pg_connect($con_string); + + if ($this->db) + { + $this->database_name = $name; + pg_set_error_verbosity($this->db, PGSQL_ERRORS_VERBOSE); // Set verbosity to max + } } else { $this->database_name = $name; pg_set_error_verbosity($this->db, PGSQL_ERRORS_VERBOSE); // Set verbosity to max } - + return $this->db; } -- GitLab