Unverified Commit a11ed7af authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3124354 by daffie, abhisekmazumdar, alexpott, johnwebdev, catch,...

Issue #3124354 by daffie, abhisekmazumdar, alexpott, johnwebdev, catch, Beakerboy: Remove unnecessary classes from the database drivers
parent 8b7aee5b
Loading
Loading
Loading
Loading
+45 −5
Original line number Diff line number Diff line
@@ -4,6 +4,13 @@

use Drupal\Component\Assertion\Inspector;
use Drupal\Core\Database\Query\Condition;
use Drupal\Core\Database\Query\Delete;
use Drupal\Core\Database\Query\Insert;
use Drupal\Core\Database\Query\Merge;
use Drupal\Core\Database\Query\Select;
use Drupal\Core\Database\Query\Truncate;
use Drupal\Core\Database\Query\Update;
use Drupal\Core\Database\Query\Upsert;

/**
 * Base Database API class.
@@ -871,11 +878,44 @@ protected function expandArguments(&$query, &$args) {
  public function getDriverClass($class) {
    if (empty($this->driverClasses[$class])) {
      $driver_class = $this->connectionOptions['namespace'] . '\\' . $class;
      $this->driverClasses[$class] = class_exists($driver_class) ? $driver_class : $class;
      if ($this->driverClasses[$class] === 'Condition') {
        // @todo Deprecate the fallback for contrib and custom drivers in 9.1.x
        //   in https://www.drupal.org/project/drupal/issues/3120036.
      if (class_exists($driver_class)) {
        $this->driverClasses[$class] = $driver_class;
      }
      else {
        switch ($class) {
          case 'Condition':
            $this->driverClasses[$class] = Condition::class;
            break;
          case 'Delete':
            $this->driverClasses[$class] = Delete::class;
            break;
          case 'Insert':
            $this->driverClasses[$class] = Insert::class;
            break;
          case 'Merge':
            $this->driverClasses[$class] = Merge::class;
            break;
          case 'Schema':
            $this->driverClasses[$class] = Schema::class;
            break;
          case 'Select':
            $this->driverClasses[$class] = Select::class;
            break;
          case 'Transaction':
            $this->driverClasses[$class] = Transaction::class;
            break;
          case 'Truncate':
            $this->driverClasses[$class] = Truncate::class;
            break;
          case 'Update':
            $this->driverClasses[$class] = Update::class;
            break;
          case 'Upsert':
            $this->driverClasses[$class] = Upsert::class;
            break;
          default:
            $this->driverClasses[$class] = $class;
        }
      }
    }
    return $this->driverClasses[$class];
+0 −10
Original line number Diff line number Diff line
<?php

namespace Drupal\Core\Database\Driver\mysql;

use Drupal\Core\Database\Query\Delete as QueryDelete;

/**
 * MySQL implementation of \Drupal\Core\Database\Query\Delete.
 */
class Delete extends QueryDelete {}
+0 −10
Original line number Diff line number Diff line
<?php

namespace Drupal\Core\Database\Driver\mysql;

use Drupal\Core\Database\Query\Merge as QueryMerge;

/**
 * MySQL implementation of \Drupal\Core\Database\Query\Merge.
 */
class Merge extends QueryMerge {}
+0 −10
Original line number Diff line number Diff line
<?php

namespace Drupal\Core\Database\Driver\mysql;

use Drupal\Core\Database\Query\Select as QuerySelect;

/**
 * MySQL implementation of \Drupal\Core\Database\Query\Select.
 */
class Select extends QuerySelect {}
+0 −10
Original line number Diff line number Diff line
<?php

namespace Drupal\Core\Database\Driver\mysql;

use Drupal\Core\Database\Transaction as DatabaseTransaction;

/**
 * MySQL implementation of \Drupal\Core\Database\Transaction.
 */
class Transaction extends DatabaseTransaction {}
Loading