diff --git a/core/lib/Drupal/Core/Database/Connection.php b/core/lib/Drupal/Core/Database/Connection.php index d424f55..66a4143 100644 --- a/core/lib/Drupal/Core/Database/Connection.php +++ b/core/lib/Drupal/Core/Database/Connection.php @@ -331,8 +331,7 @@ public function tablePrefix($table = 'default') { public function prepareQuery($query) { $query = $this->prefixTables($query); - // Call PDO::prepare. - return $this->connection->prepare($query); + return \PDO::prepare($query); } /** @@ -934,7 +933,7 @@ public function rollback($savepoint_name = 'drupal_transaction') { $rolled_back_other_active_savepoints = TRUE; } } - $this->connection->rollBack(); + \PDO::rollBack(); if ($rolled_back_other_active_savepoints) { throw new TransactionOutOfOrderException(); } @@ -962,7 +961,7 @@ public function pushTransaction($name) { $this->query('SAVEPOINT ' . $name); } else { - $this->connection->beginTransaction(); + \PDO::beginTransaction(); } $this->transactionLayers[$name] = $name; } @@ -1013,7 +1012,7 @@ protected function popCommittableTransactions() { // If there are no more layers left then we should commit. unset($this->transactionLayers[$name]); if (empty($this->transactionLayers)) { - if (!$this->connection->commit()) { + if (!PDO::commit()) { throw new TransactionCommitFailedException(); } } diff --git a/core/lib/Drupal/Core/Database/Database.php b/core/lib/Drupal/Core/Database/Database.php index 5ae4baf..d6c28ca 100644 --- a/core/lib/Drupal/Core/Database/Database.php +++ b/core/lib/Drupal/Core/Database/Database.php @@ -382,8 +382,7 @@ public static function addConnectionInfo($key, $target, $info) { $driver_class = "Drupal\\Core\\Database\\Driver\\{$driver}\\Connection"; } - $connection_info =& self::$databaseInfo[$key][$target]; - $pdo_connection = $driver_class::open($connection_info); + $pdo_connection = $driver_class::open(self::$databaseInfo[$key][$target]); $new_connection = new $driver_class($pdo_connection, self::$databaseInfo[$key][$target]); $new_connection->setTarget($target); $new_connection->setKey($key); diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php index 06cce2c..ba61248 100644 --- a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php +++ b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php @@ -216,7 +216,7 @@ protected function popCommittableTransactions() { // If there are no more layers left then we should commit. unset($this->transactionLayers[$name]); if (empty($this->transactionLayers)) { - if (!$this->connection->commit()) { + if (!PDO::commit()) { throw new TransactionCommitFailedException(); } } @@ -239,7 +239,7 @@ protected function popCommittableTransactions() { $this->transactionLayers = array(); // We also have to explain to PDO that the transaction stack has // been cleaned-up. - $this->connection->commit(); + PDO::commit(); } else { throw $e; diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php index 3de55f6..c1d211b 100644 --- a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php +++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php @@ -49,7 +49,6 @@ public function __construct(PDO $connection, array $connection_options) { $this->connectionOptions = $connection_options; - // Force PostgreSQL to use the UTF-8 character set by default. $this->connection->exec("SET NAMES 'UTF8'"); diff --git a/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php b/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php index 6e0ebf6..4b7915c 100644 --- a/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php +++ b/core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php @@ -87,6 +87,7 @@ public function __construct(PDO $connection, array $connection_options) { $this->attachedDatabases[$prefix] = $prefix; $this->query('ATTACH DATABASE :database AS :prefix', array(':database' => $connection_options['database'] . '-' . $prefix, ':prefix' => $prefix)); } + // Add a ., so queries become prefix.table, which is proper syntax for // querying an attached database. $prefix .= '.'; @@ -256,7 +257,7 @@ public function prepare($query, $options = array()) { * the world. */ public function PDOPrepare($query, array $options = array()) { - return $this->connection->prepare($query, $options); + return \PDO::prepare($query, $options); } public function queryRange($query, $from, $count, array $args = array(), array $options = array()) { @@ -335,7 +336,7 @@ public function nextId($existing_id = 0) { public function rollback($savepoint_name = 'drupal_transaction') { if ($this->savepointSupport) { - return $this->connection->rollBack($savepoint_name); + return \PDO::rollBack($savepoint_name); } if (!$this->inTransaction()) { @@ -363,13 +364,13 @@ public function rollback($savepoint_name = 'drupal_transaction') { } } if ($this->supportsTransactions()) { - $this->connection->rollBack(); + PDO::rollBack(); } } public function pushTransaction($name) { if ($this->savepointSupport) { - return $this->connection->pushTransaction($name); + return \PDO::pushTransaction($name); } if (!$this->supportsTransactions()) { return; @@ -378,14 +379,14 @@ public function pushTransaction($name) { throw new TransactionNameNonUniqueException($name . " is already in use."); } if (!$this->inTransaction()) { - $this->connection->beginTransaction(); + PDO::beginTransaction(); } $this->transactionLayers[$name] = $name; } public function popTransaction($name) { if ($this->savepointSupport) { - return $this->connection->popTransaction($name); + return \PDO::popTransaction($name); } if (!$this->supportsTransactions()) { return; @@ -403,9 +404,9 @@ public function popTransaction($name) { // If there was any rollback() we should roll back whole transaction. if ($this->willRollback) { $this->willRollback = FALSE; - $this->connection->rollBack(); + PDO::rollBack(); } - elseif (!$this->connection->commit()) { + elseif (!PDO::commit()) { throw new TransactionCommitFailedException(); } }