diff --git a/core/lib/Drupal/Core/Database/Connection.php b/core/lib/Drupal/Core/Database/Connection.php index 358fa71..cf09d63 100644 --- a/core/lib/Drupal/Core/Database/Connection.php +++ b/core/lib/Drupal/Core/Database/Connection.php @@ -659,15 +659,17 @@ protected function expandArguments(&$query, &$args) { */ public function getDriverClass($class) { if (empty($this->driverClasses[$class])) { - $driver = $this->driver(); + $namespaces = ['Drupal\\Core\\Database', 'Drupal\\Core\\Database\\Query']; if (!empty($this->connectionOptions['namespace'])) { - $driver_class = $this->connectionOptions['namespace'] . '\\' . $class; + $namespaces[] = $this->connectionOptions['namespace']; } else { // Fallback for Drupal 7 settings.php. - $driver_class = "Drupal\\Core\\Database\\Driver\\{$driver}\\{$class}"; + $namespaces[] = 'Drupal\\Core\\Database\\Driver\\' . $this->driver(); } - $this->driverClasses[$class] = class_exists($driver_class) ? $driver_class : $class; + do { + $this->driverClasses[$class] = array_pop($namespaces) . '\\' . $class; + } while ($namespaces && !class_exists($this->driverClasses[$class])); } return $this->driverClasses[$class]; } diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Delete.php b/core/lib/Drupal/Core/Database/Driver/mysql/Delete.php deleted file mode 100644 index de0db11..0000000 --- a/core/lib/Drupal/Core/Database/Driver/mysql/Delete.php +++ /dev/null @@ -1,12 +0,0 @@ -