From 9cf185c3917bb0de39ea5ce2d2ddbbc50b3e1d73 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Mon, 19 Jul 2010 13:23:21 +0000 Subject: - Patch #852362 by chx: fixed extend is 100% fubar. --- includes/database/database.inc | 2 +- includes/database/select.inc | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) (limited to 'includes/database') diff --git a/includes/database/database.inc b/includes/database/database.inc index d2a633d5a..a75764948 100644 --- a/includes/database/database.inc +++ b/includes/database/database.inc @@ -646,7 +646,7 @@ abstract class DatabaseConnection extends PDO { * @return string * The name of the class that should be used for this driver. */ - protected function getDriverClass($class) { + public function getDriverClass($class) { if (empty($this->driverClasses[$class])) { $this->driverClasses[$class] = $class . '_' . $this->driver(); if (!class_exists($this->driverClasses[$class])) { diff --git a/includes/database/select.inc b/includes/database/select.inc index 34defb56c..1777a20d4 100644 --- a/includes/database/select.inc +++ b/includes/database/select.inc @@ -601,11 +601,8 @@ class SelectQueryExtender implements SelectQueryInterface { /* Implementations of QueryExtendableInterface. */ public function extend($extender_name) { - $override_class = $this->connection->driver(); - if (class_exists($override_class)) { - $extender_name = $override_class; - } - return new $extender_name($this, $this->connection); + $class = $this->connection->getDriverClass($extender_name); + return new $class($this, $this->connection); } /* Alter accessors to expose the query data to alter hooks. */ -- cgit v1.2.3