summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2008-12-02 19:45:01 +0000
committerDries Buytaert <dries@buytaert.net>2008-12-02 19:45:01 +0000
commit71a22f1c1f4da46a370dd11b9e31537f255c7375 (patch)
tree41e0c79282557b7f1ed878bf78ad482c2ce2f102 /includes
parent8900c6156d3ab1e48c8e8ff697305ce6530fbe5a (diff)
downloadbrdo-71a22f1c1f4da46a370dd11b9e31537f255c7375.tar.gz
brdo-71a22f1c1f4da46a370dd11b9e31537f255c7375.tar.bz2
- Patch #337926 by Damien Tournoud: clean-up lower case handling.
Diffstat (limited to 'includes')
-rw-r--r--includes/database/database.inc20
-rw-r--r--includes/database/mysql/database.inc15
-rw-r--r--includes/database/mysql/schema.inc2
-rw-r--r--includes/database/pgsql/database.inc15
-rw-r--r--includes/database/sqlite/database.inc20
5 files changed, 32 insertions, 40 deletions
diff --git a/includes/database/database.inc b/includes/database/database.inc
index f05a71242..a25ed7ace 100644
--- a/includes/database/database.inc
+++ b/includes/database/database.inc
@@ -215,7 +215,14 @@ abstract class DatabaseConnection extends PDO {
*
* @var string
*/
- protected $statementClass = NULL;
+ protected $statementClass = 'DatabaseStatementBase';
+
+ /**
+ * Whether this database connection supports transactions.
+ *
+ * @var bool
+ */
+ protected $transactionSupport = TRUE;
/**
* The schema object for this connection.
@@ -225,11 +232,6 @@ abstract class DatabaseConnection extends PDO {
protected $schema = NULL;
function __construct($dsn, $username, $password, $driver_options = array()) {
- // Fallback to DatabaseStatementBase if the driver has not specified one.
- 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;
@@ -237,7 +239,7 @@ abstract class DatabaseConnection extends PDO {
parent::__construct($dsn, $username, $password, $driver_options);
// Set a specific PDOStatement class if the driver requires that.
- if ($this->statementClass != 'PDOStatement') {
+ if (!empty($this->statementClass)) {
$this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array($this->statementClass, array($this)));
}
}
@@ -734,7 +736,9 @@ abstract class DatabaseConnection extends PDO {
/**
* Determine if this driver supports transactions.
*/
- abstract public function supportsTransactions();
+ public function supportsTransactions() {
+ return $this->transactionSupport;
+ }
/**
* Returns the type of the database being accessed.
diff --git a/includes/database/mysql/database.inc b/includes/database/mysql/database.inc
index 82c962929..661503cd6 100644
--- a/includes/database/mysql/database.inc
+++ b/includes/database/mysql/database.inc
@@ -13,11 +13,14 @@
class DatabaseConnection_mysql extends DatabaseConnection {
- protected $transactionSupport = FALSE;
-
public function __construct(Array $connection_options = array()) {
- $this->transactionSupport = isset($connection_options['transactions']) ? $connection_options['transactions'] : FALSE;
- $connection_options['port'] = !empty($connection_options['port']) ? $connection_options['port'] : 3306;
+ // This driver defaults to non transaction support.
+ $this->transactionSupport = !empty($connection_option['transactions']);
+
+ // Default to TCP connection on port 3306.
+ if (empty($connection_options['port'])) {
+ $connection_options['port'] = 3306;
+ }
$dsn = 'mysql:host=' . $connection_options['host'] . ';port=' . $connection_options['port'] . ';dbname=' . $connection_options['database'];
parent::__construct($dsn, $connection_options['username'], $connection_options['password'], array(
@@ -53,10 +56,6 @@ class DatabaseConnection_mysql extends DatabaseConnection {
return 'mysql';
}
- public function supportsTransactions() {
- return $this->transactionSupport;
- }
-
public function mapConditionOperator($operator) {
// We don't want to override any of the defaults.
return NULL;
diff --git a/includes/database/mysql/schema.inc b/includes/database/mysql/schema.inc
index 40f45aeb8..bbc9a9ca0 100644
--- a/includes/database/mysql/schema.inc
+++ b/includes/database/mysql/schema.inc
@@ -92,7 +92,7 @@ class DatabaseSchema_mysql extends DatabaseSchema {
$sql .= ' auto_increment';
}
- // $spec['default'] can be NULL, so we explicitely check for the key here.
+ // $spec['default'] can be NULL, so we explicitly check for the key here.
if (array_key_exists('default', $spec)) {
if (is_string($spec['default'])) {
$spec['default'] = "'" . $spec['default'] . "'";
diff --git a/includes/database/pgsql/database.inc b/includes/database/pgsql/database.inc
index 6fd15b2e7..53e7b3578 100644
--- a/includes/database/pgsql/database.inc
+++ b/includes/database/pgsql/database.inc
@@ -13,11 +13,14 @@
class DatabaseConnection_pgsql extends DatabaseConnection {
- protected $transactionSupport = TRUE;
-
public function __construct(Array $connection_options = array()) {
- $this->transactionSupport = isset($connection_options['transactions']) ? $connection_options['transactions'] : TRUE;
- $connection_options['port'] = !empty($connection_options['port']) ? $connection_options['port'] : 5432;
+ // This driver defaults to transaction support, except if explicitly passed FALSE.
+ $this->transactionSupport = !isset($connection_options['transactions']) || $connection_options['transactions'] === FALSE;
+
+ // Default to TCP connection on port 5432.
+ if (empty($connection_options['port'])) {
+ $connection_options['port'] = 5432;
+ }
$dsn = 'pgsql:host=' . $connection_options['host'] . ' dbname=' . $connection_options['database'] . ' port=' . $connection_options['port'];
parent::__construct($dsn, $connection_options['username'], $connection_options['password'], array(
@@ -86,10 +89,6 @@ class DatabaseConnection_pgsql extends DatabaseConnection {
return 'pgsql';
}
- public function supportsTransactions() {
- return $this->transactionSupport;
- }
-
public function mapConditionOperator($operator) {
static $specials = array(
// In PostgreSQL, 'LIKE' is case-sensitive. For case-insensitive LIKE
diff --git a/includes/database/sqlite/database.inc b/includes/database/sqlite/database.inc
index 02e73321e..f8b41eb31 100644
--- a/includes/database/sqlite/database.inc
+++ b/includes/database/sqlite/database.inc
@@ -18,20 +18,14 @@ include_once DRUPAL_ROOT . '/includes/database/prefetch.inc';
*/
class DatabaseConnection_sqlite extends DatabaseConnection {
- /**
- * Indicates that this connection supports transactions.
- *
- * @var bool
- */
- protected $transactionSupport = TRUE;
-
public function __construct(Array $connection_options = array()) {
// We don't need a specific PDOStatement class here, we simulate it below.
- $this->statementClass = 'PDOStatement';
- $this->transactionSupport = isset($connection_options['transactions']) ? $connection_options['transactions'] : TRUE;
+ $this->statementClass = NULL;
- $dns = 'sqlite:'. $connection_options['database'];
- parent::__construct($dns, '', '', array(
+ // This driver defaults to transaction support, except if explicitly passed FALSE.
+ $this->transactionSupport = !isset($connection_options['transactions']) || $connection_options['transactions'] === FALSE;
+
+ parent::__construct('sqlite:'. $connection_options['database'], '', '', array(
// Force column names to lower case.
PDO::ATTR_CASE => PDO::CASE_LOWER,
));
@@ -141,10 +135,6 @@ class DatabaseConnection_sqlite extends DatabaseConnection {
return 'sqlite';
}
- public function supportsTransactions() {
- return $this->transactionSupport;
- }
-
public function mapConditionOperator($operator) {
// We don't want to override any of the defaults.
return NULL;