You are here

class StubConnection in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Database/Stub/StubConnection.php \Drupal\Tests\Core\Database\Stub\StubConnection

A stub of the abstract Connection class for testing purposes.

Includes minimal implementations of Connection's abstract methods.

Hierarchy

Expanded class hierarchy of StubConnection

5 files declare their use of StubConnection
ConditionTest.php in core/tests/Drupal/Tests/Core/Database/ConditionTest.php
ConnectionTest.php in core/tests/Drupal/Tests/Core/Database/ConnectionTest.php
LogTest.php in core/tests/Drupal/Tests/Core/Database/LogTest.php
OrderByTest.php in core/tests/Drupal/Tests/Core/Database/OrderByTest.php
SelectExtenderTest.php in core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php

File

core/tests/Drupal/Tests/Core/Database/Stub/StubConnection.php, line 14

Namespace

Drupal\Tests\Core\Database\Stub
View source
class StubConnection extends Connection {

  /**
   * {@inheritdoc}
   */
  protected $statementClass = NULL;

  /**
   * {@inheritdoc}
   */
  protected $statementWrapperClass = StatementWrapper::class;

  /**
   * Public property so we can test driver loading mechanism.
   *
   * @var string
   * @see driver().
   */
  public $driver = 'stub';

  /**
   * Constructs a Connection object.
   *
   * @param \PDO $connection
   *   An object of the PDO class representing a database connection.
   * @param array $connection_options
   *   An array of options for the connection.
   * @param string[]|null $identifier_quotes
   *   The identifier quote characters. Defaults to an empty strings.
   * @param string|null $statement_class
   *   A class to use as a statement class for deprecation testing.
   */
  public function __construct(\PDO $connection, array $connection_options, $identifier_quotes = [
    '',
    '',
  ], $statement_class = NULL) {
    $this->identifierQuotes = $identifier_quotes;
    if ($statement_class) {
      $this->statementClass = $statement_class;
      $this->statementWrapperClass = NULL;
    }
    parent::__construct($connection, $connection_options);
  }

  /**
   * {@inheritdoc}
   */
  public function queryRange($query, $from, $count, array $args = [], array $options = []) {
    return NULL;
  }

  /**
   * {@inheritdoc}
   */
  public function queryTemporary($query, array $args = [], array $options = []) {
    @trigger_error('Connection::queryTemporary() is deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. There is no replacement. See https://www.drupal.org/node/3211781', E_USER_DEPRECATED);
    return '';
  }

  /**
   * {@inheritdoc}
   */
  public function driver() {
    return $this->driver;
  }

  /**
   * {@inheritdoc}
   */
  public function databaseType() {
    return 'stub';
  }

  /**
   * {@inheritdoc}
   */
  public function createDatabase($database) {
  }

  /**
   * {@inheritdoc}
   */
  public function mapConditionOperator($operator) {
    return NULL;
  }

  /**
   * {@inheritdoc}
   */
  public function nextId($existing_id = 0) {
    return 0;
  }

  /**
   * Helper method to test database classes are not included in backtraces.
   *
   * @return array
   *   The caller stack entry.
   */
  public function testLogCaller() {
    return (new Log())
      ->findCaller();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Connection::$connection protected property The actual PDO connection.
Connection::$connectionOptions protected property The connection information for this connection object.
Connection::$driverClasses protected property Index of what driver-specific class to use for various operations.
Connection::$escapedAliases protected property List of escaped aliases names, keyed by unescaped aliases.
Connection::$escapedFields protected property List of escaped field names, keyed by unescaped names.
Connection::$escapedNames Deprecated protected property List of escaped database, table, and field names, keyed by unescaped names.
Connection::$escapedTables protected property List of escaped table names, keyed by unescaped names.
Connection::$identifierQuotes protected property The identifier quote characters for the database type. 3
Connection::$key protected property The key representing this connection.
Connection::$logger protected property The current database logging object for this connection.
Connection::$prefixes protected property The prefixes used by this database connection.
Connection::$prefixReplace protected property List of replacement values for use in prefixTables().
Connection::$prefixSearch protected property List of search values for use in prefixTables().
Connection::$rootTransactionEndCallbacks protected property Post-root (non-nested) transaction commit callbacks.
Connection::$schema protected property The schema object for this connection.
Connection::$target protected property The database target this connection is for.
Connection::$temporaryNameIndex Deprecated protected property An index used to generate unique temporary table names.
Connection::$transactionalDDLSupport protected property Whether this database connection supports transactional DDL. 2
Connection::$transactionLayers protected property Tracks the number of "layers" of transactions currently active.
Connection::$unprefixedTablesMap protected property List of un-prefixed table names, keyed by prefixed table names.
Connection::addRootTransactionEndCallback public function Adds a root transaction end callback.
Connection::clientVersion public function Returns the version of the database client.
Connection::commit public function Throws an exception to deny direct access to transaction commits.
Connection::condition public function Prepares and returns a CONDITION query object.
Connection::createConnectionOptionsFromUrl public static function Creates an array of database connection options from a URL. 1
Connection::createUrlFromConnectionOptions public static function Creates a URL from an array of database connection options. 1
Connection::defaultOptions protected function Returns the default query options for any given query.
Connection::delete public function Prepares and returns a DELETE query object.
Connection::destroy Deprecated public function Destroys this Connection object.
Connection::doCommit protected function Do the actual commit, invoke post-commit callbacks. 1
Connection::escapeAlias public function Escapes an alias name string.
Connection::escapeDatabase public function Escapes a database name string.
Connection::escapeField public function Escapes a field name string.
Connection::escapeLike public function Escapes characters that work as wildcard characters in a LIKE pattern.
Connection::escapeTable public function Escapes a table name string.
Connection::exceptionHandler public function Returns the database exceptions handler.
Connection::expandArguments protected function Expands out shorthand placeholders.
Connection::filterComment protected function Sanitize a query comment string.
Connection::generateTemporaryTableName Deprecated protected function Generates a temporary table name.
Connection::getConnectionOptions public function Returns the connection information for this connection object.
Connection::getDriverClass public function Gets the driver-specific override class if any for the specified class.
Connection::getFullQualifiedTableName public function Get a fully qualified table name. 2
Connection::getKey public function Returns the key this connection is associated with.
Connection::getLogger public function Gets the current logging object for this connection.
Connection::getPagerManager public function Get the pager manager service, if available.
Connection::getProvider public function Get the module name of the module that is providing the database driver.
Connection::getSQLState protected static function Extracts the SQLSTATE error from the PDOException.
Connection::getTarget public function Returns the target this connection is associated with.
Connection::getUnprefixedTablesMap public function Gets a list of individually prefixed table names.
Connection::handleQueryException Deprecated protected function Wraps and re-throws any PDO exception thrown by static::query(). 2
Connection::insert public function Prepares and returns an INSERT query object.
Connection::inTransaction public function Determines if there is an active transaction open.
Connection::makeComment public function Flatten an array of query comments into a single comment string.
Connection::makeSequenceName public function Creates the appropriate sequence name for a given table and serial field.
Connection::merge public function Prepares and returns a MERGE query object.
Connection::open public static function Opens a PDO connection. 3
Connection::popCommittableTransactions protected function Commit all the transaction layers that can commit. 1
Connection::popTransaction public function Decreases the depth of transaction nesting.
Connection::prefixTables public function Appends a database prefix to all tables in a query.
Connection::prepare Deprecated public function Prepares a statement for execution and returns a statement object. 1
Connection::prepareQuery Deprecated public function Prepares a query string and returns the prepared statement.
Connection::prepareStatement public function Returns a prepared statement given a SQL string. 2
Connection::preprocessStatement protected function Returns a string SQL statement ready for preparation.
Connection::pushTransaction public function Increases the depth of transaction nesting.
Connection::query public function Executes a query string against the database. 1
Connection::quote public function Quotes a string for use in a query.
Connection::quoteIdentifiers public function Quotes all identifiers in a query.
Connection::rollBack public function Rolls back the transaction entirely or to a named savepoint. 1
Connection::schema public function Returns a DatabaseSchema object for manipulating the schema.
Connection::select public function Prepares and returns a SELECT query object.
Connection::setKey public function Tells this connection object what its key is.
Connection::setLogger public function Associates a logging object with this connection.
Connection::setPrefix protected function Set the list of prefixes used by this database connection.
Connection::setTarget public function Tells this connection object what its target value is.
Connection::startTransaction public function Returns a new DatabaseTransaction object on this connection.
Connection::supportsTransactionalDDL public function Determines if this driver supports transactional DDL.
Connection::supportsTransactions Deprecated public function Determines if this driver supports transactions.
Connection::tablePrefix public function Find the prefix for a table.
Connection::transactionDepth public function Determines the current transaction depth.
Connection::truncate public function Prepares and returns a TRUNCATE query object.
Connection::update public function Prepares and returns an UPDATE query object.
Connection::upsert public function Prepares and returns an UPSERT query object.
Connection::version public function Returns the version of the database server. 2
Connection::__destruct public function Ensures that the PDO connection can be garbage collected. 2
Connection::__sleep public function Prevents the database connection from being serialized.
StubConnection::$driver public property Public property so we can test driver loading mechanism.
StubConnection::$statementClass protected property The name of the Statement class for this connection. Overrides Connection::$statementClass
StubConnection::$statementWrapperClass protected property The name of the StatementWrapper class for this connection. Overrides Connection::$statementWrapperClass
StubConnection::createDatabase public function Creates a database. Overrides Connection::createDatabase
StubConnection::databaseType public function Returns the name of the PDO driver for this connection. Overrides Connection::databaseType
StubConnection::driver public function Returns the type of database driver. Overrides Connection::driver
StubConnection::mapConditionOperator public function Gets any special processing requirements for the condition operator. Overrides Connection::mapConditionOperator
StubConnection::nextId public function Retrieves a unique ID from a given sequence. Overrides Connection::nextId
StubConnection::queryRange public function Runs a limited-range query on this database object. Overrides Connection::queryRange
StubConnection::queryTemporary public function Runs a SELECT query and stores its results in a temporary table. Overrides Connection::queryTemporary
StubConnection::testLogCaller public function Helper method to test database classes are not included in backtraces.
StubConnection::__construct public function Constructs a Connection object. Overrides Connection::__construct