From 279256fabd55b3fac705be8097ee22d54ceaab50 Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Thu, 30 Jan 2014 13:50:00 +0200 Subject: Some fail-safe pdo_pgsql adjustments --- system/database/drivers/pdo/pdo_driver.php | 3 +-- system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'system/database/drivers/pdo') diff --git a/system/database/drivers/pdo/pdo_driver.php b/system/database/drivers/pdo/pdo_driver.php index 184a8df33..3f4275f64 100644 --- a/system/database/drivers/pdo/pdo_driver.php +++ b/system/database/drivers/pdo/pdo_driver.php @@ -92,7 +92,7 @@ class CI_DB_pdo_driver extends CI_DB { { $this->subdriver = '4d'; } - elseif ( ! in_array($this->subdriver, array('4d', 'cubrid', 'dblib', 'firebird', 'ibm', 'informix', 'mysql', 'oci', 'odbc', 'sqlite', 'sqlsrv'), TRUE)) + elseif ( ! in_array($this->subdriver, array('4d', 'cubrid', 'dblib', 'firebird', 'ibm', 'informix', 'mysql', 'oci', 'odbc', 'pgsql', 'sqlite', 'sqlsrv'), TRUE)) { log_message('error', 'PDO: Invalid or non-existent subdriver'); @@ -117,7 +117,6 @@ class CI_DB_pdo_driver extends CI_DB { { $this->options[PDO::ATTR_PERSISTENT] = $persistent; - // Connecting... try { return @new PDO($this->dsn, $this->username, $this->password, $this->options); diff --git a/system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php b/system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php index 6ee327bd5..24f64cff5 100644 --- a/system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php +++ b/system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php @@ -84,6 +84,12 @@ class CI_DB_pdo_pgsql_driver extends CI_DB_pdo_driver { empty($this->port) OR $this->dsn .= ';port='.$this->port; empty($this->database) OR $this->dsn .= ';dbname='.$this->database; + + if ( ! empty($this->username)) + { + $this->dsn .= ';username=$this->username; + empty($this->password) OR $this->dsn .= ';password='.$this->password; + } } } -- cgit v1.2.3-24-g4f1b