From 205c5b2415deb10d4afba32249e7f5f989a097b1 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sat, 29 Nov 2008 09:30:36 +0000 Subject: - Patch #337926 by hswong3i, Dave Reid, Damien Tournoud: forced connection with PDF:CASE_LOWER. --- includes/database/database.inc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'includes/database/database.inc') diff --git a/includes/database/database.inc b/includes/database/database.inc index fc94e55e7..f05a71242 100644 --- a/includes/database/database.inc +++ b/includes/database/database.inc @@ -210,6 +210,13 @@ abstract class DatabaseConnection extends PDO { */ protected $transactionClass = NULL; + /** + * The name of the Statement class for this connection. + * + * @var string + */ + protected $statementClass = NULL; + /** * The schema object for this connection. * @@ -219,8 +226,9 @@ abstract class DatabaseConnection extends PDO { function __construct($dsn, $username, $password, $driver_options = array()) { // Fallback to DatabaseStatementBase if the driver has not specified one. - $statement_class = isset($driver_options['statement_class']) ? $driver_options['statement_class'] : 'DatabaseStatementBase'; - unset($driver_options['statement_class']); + if (empty($this->statementClass)) { + $this->statementClass = 'DatabaseStatementBase'; + } // Because the other methods don't seem to work right. $driver_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; @@ -229,8 +237,8 @@ abstract class DatabaseConnection extends PDO { parent::__construct($dsn, $username, $password, $driver_options); // Set a specific PDOStatement class if the driver requires that. - if (!empty($statement_class)) { - $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array($statement_class, array($this))); + if ($this->statementClass != 'PDOStatement') { + $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array($this->statementClass, array($this))); } } -- cgit v1.2.3