diff options
-rwxr-xr-x | program/include/rcube_mdb2.inc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/program/include/rcube_mdb2.inc b/program/include/rcube_mdb2.inc index d37230268..c71e723d0 100755 --- a/program/include/rcube_mdb2.inc +++ b/program/include/rcube_mdb2.inc @@ -59,14 +59,15 @@ class rcube_db * @param string DSN for read/write operations * @param string Optional DSN for read only operations */ - function __construct($db_dsnw, $db_dsnr='') + function __construct($db_dsnw, $db_dsnr='', $pconn=false) { if ($db_dsnr=='') $db_dsnr=$db_dsnw; $this->db_dsnw = $db_dsnw; $this->db_dsnr = $db_dsnr; - + $this->db_pconn = $pconn; + $dsn_array = MDB2::parseDSN($db_dsnw); $this->db_provider = $dsn_array['phptype']; } @@ -93,7 +94,7 @@ class rcube_db function dsn_connect($dsn) { // Use persistent connections if available - $dbh = MDB2::connect($dsn, array('persistent' => TRUE, 'portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL)); + $dbh = MDB2::connect($dsn, array('persistent' => $this->db_pconn, 'portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL)); if (PEAR::isError($dbh)) { @@ -285,7 +286,7 @@ class rcube_db if (!$this->db_handle) return FALSE; - return $result; + return $this->_get_result($result); } |