Add possibility to set PDO::ATTR_PREFETCH and PDO::ATTR_TIMEOUT via DSN string

pull/300/head
Aleksander Machniak 9 years ago
parent 1b61a48eec
commit 0ee57208b3

@ -149,10 +149,6 @@ class rcube_db
$dsn_string = $this->dsn_string($dsn);
$dsn_options = $this->dsn_options($dsn);
if ($this->db_pconn) {
$dsn_options[PDO::ATTR_PERSISTENT] = true;
}
// Connect
try {
// with this check we skip fatal error on PDO object creation
@ -1271,6 +1267,18 @@ class rcube_db
{
$result = array();
if ($this->db_pconn) {
$result[PDO::ATTR_PERSISTENT] = true;
}
if (!empty($dsn['prefetch'])) {
$result[PDO::ATTR_PREFETCH] = (int) $dsn['prefetch'];
}
if (!empty($dsn['timeout'])) {
$result[PDO::ATTR_TIMEOUT] = (int) $dsn['timeout'];
}
return $result;
}

@ -118,7 +118,7 @@ class rcube_db_mysql extends rcube_db
*/
protected function dsn_options($dsn)
{
$result = array();
$result = parent::dsn_options($dsn);
if (!empty($dsn['key'])) {
$result[PDO::MYSQL_ATTR_SSL_KEY] = $dsn['key'];

Loading…
Cancel
Save