class StubConnection

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Database/Stub/StubConnection.php \Drupal\Tests\Core\Database\Stub\StubConnection
  2. 8.9.x core/tests/Drupal/Tests/Core/Database/Stub/StubConnection.php \Drupal\Tests\Core\Database\Stub\StubConnection
  3. 11.x 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

7 files declare their use of StubConnection
CacheTest.php in core/tests/Drupal/Tests/Core/Cache/CacheTest.php
ConditionTest.php in core/tests/Drupal/Tests/Core/Database/ConditionTest.php
ConnectionTest.php in core/tests/Drupal/Tests/Core/Database/ConnectionTest.php
DatabaseEventsTest.php in core/tests/Drupal/Tests/Core/Database/DatabaseEventsTest.php
LogTest.php in core/tests/Drupal/Tests/Core/Database/LogTest.php

... See full list

File

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

Namespace

Drupal\Tests\Core\Database\Stub
View source
class StubConnection extends Connection {
  
  /**
   * {@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.
   */
  public function __construct(\PDO $connection, array $connection_options, $identifier_quotes = [
    '',
    '',
  ]) {
    $this->identifierQuotes = $identifier_quotes;
    parent::__construct($connection, $connection_options);
  }
  
  /**
   * {@inheritdoc}
   */
  public static function open(array &$connection_options = []) {
    return new \stdClass();
  }
  
  /**
   * {@inheritdoc}
   */
  public function queryRange($query, $from, $count, array $args = [], array $options = []) {
    return NULL;
  }
  
  /**
   * {@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) {
    @trigger_error('Drupal\\Core\\Database\\Connection::nextId() is deprecated in drupal:10.2.0 and is removed from drupal:11.0.0. Modules should use instead the keyvalue storage for the last used id. See https://www.drupal.org/node/3349345', E_USER_DEPRECATED);
    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();
  }
  
  /**
   * {@inheritdoc}
   */
  public function exceptionHandler() {
    return new ExceptionHandler();
  }
  
  /**
   * {@inheritdoc}
   */
  public function select($table, $alias = NULL, array $options = []) {
    return new Select($this, $table, $alias, $options);
  }
  
  /**
   * {@inheritdoc}
   */
  public function insert($table, array $options = []) {
    return new Insert($this, $table, $options);
  }
  
  /**
   * {@inheritdoc}
   */
  public function merge($table, array $options = []) {
    return new Merge($this, $table, $options);
  }
  
  /**
   * {@inheritdoc}
   */
  public function upsert($table, array $options = []) {
    return new StubUpsert($this, $table, $options);
  }
  
  /**
   * {@inheritdoc}
   */
  public function update($table, array $options = []) {
    return new Update($this, $table, $options);
  }
  
  /**
   * {@inheritdoc}
   */
  public function delete($table, array $options = []) {
    return new Delete($this, $table, $options);
  }
  
  /**
   * {@inheritdoc}
   */
  public function truncate($table, array $options = []) {
    return new Truncate($this, $table, $options);
  }
  
  /**
   * {@inheritdoc}
   */
  public function schema() {
    if (empty($this->schema)) {
      $this->schema = new Schema();
    }
    return $this->schema;
  }
  
  /**
   * {@inheritdoc}
   */
  public function condition($conjunction) {
    return new StubCondition($conjunction);
  }
  
  /**
   * {@inheritdoc}
   */
  public function startTransaction($name = '') {
    return new Transaction($this, $name);
  }

}

Members

Title Sort descending Deprecated Modifiers Object type Summary Overriden Title Overrides
Connection::$connection protected property The actual client 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::$enabledEvents private property Tracks the database API events to be dispatched.
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::$escapedTables protected property List of escaped table names, keyed by unescaped names.
Connection::$identifierQuotes protected property The identifier quote characters for the database type. 4
Connection::$key protected property The key representing this connection.
Connection::$logger protected property The current database logging object for this connection.
Connection::$prefix protected property The prefix used by this database connection.
Connection::$prefixes Deprecated protected property The prefixes used by this database connection.
Connection::$prefixReplace Deprecated protected property List of replacement values for use in prefixTables().
Connection::$prefixSearch Deprecated protected property List of search values for use in prefixTables().
Connection::$rootTransactionEndCallbacks Deprecated protected property Post-root (non-nested) transaction commit callbacks.
Connection::$schema protected property The schema object for this connection. 5
Connection::$tablePlaceholderReplacements protected property Replacements to fully qualify {table} placeholders in SQL strings.
Connection::$target protected property The database target this connection is for.
Connection::$transactionalDDLSupport protected property Whether this database connection supports transactional DDL. 2
Connection::$transactionLayers Deprecated protected property Tracks the number of "layers" of transactions currently active.
Connection::$transactionManager protected property The transaction manager.
Connection::$unprefixedTablesMap Deprecated protected property List of un-prefixed table names, keyed by prefixed table names.
Connection::addRootTransactionEndCallback Deprecated public function Adds a root transaction end callback.
Connection::attachDatabase public function Allows the connection to access additional databases. 1
Connection::clientVersion public function Returns the version of the database client.
Connection::commit Deprecated public function Throws an exception to deny direct access to transaction commits.
Connection::commitAll public function Commits all the open transactions.
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::disableEvents public function Disables database API events dispatching.
Connection::dispatchEvent public function Dispatches a database API event via the container dispatcher.
Connection::doCommit Deprecated protected function Do the actual commit, invoke post-commit callbacks.
Connection::driverTransactionManager protected function Returns a new instance of the driver's transaction manager. 3
Connection::enableEvents public function Enables database API events dispatching.
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::expandArguments protected function Expands out shorthand placeholders.
Connection::filterComment protected function Sanitize a query comment string.
Connection::findCallerFromDebugBacktrace public function Determine the last non-database method that called the database API.
Connection::getClientConnection public function Returns the client-level database connection object.
Connection::getConnectionOptions public function Returns the connection information for this connection object.
Connection::getDebugBacktrace protected function Gets the debug backtrace.
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::getPrefix public function Returns the prefix of the tables.
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 a PDOException.
Connection::getTarget public function Returns the target this connection is associated with.
Connection::getUnprefixedTablesMap Deprecated public function Gets a list of individually prefixed table names.
Connection::hasJson public function Runs a simple query to validate json datatype support. 1
Connection::inTransaction public function Determines if there is an active transaction open.
Connection::isEventEnabled public function Returns the status of a database API event toggle.
Connection::lastInsertId public function Returns the ID of the last inserted row or sequence value.
Connection::makeComment public function Flatten an array of query comments into a single comment string.
Connection::makeSequenceName Deprecated public function Creates the appropriate sequence name for a given table and serial field. 1
Connection::popCommittableTransactions Deprecated protected function Commit all the transaction layers that can commit.
Connection::popTransaction Deprecated public function Decreases the depth of transaction nesting.
Connection::prefixTables public function Appends a database prefix to all tables in a query.
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 Deprecated 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::removeDatabaseEntriesFromDebugBacktrace public static function Removes database related calls from a backtrace array.
Connection::rollBack Deprecated public function Rolls back the transaction entirely or to a named savepoint.
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 prefix used by this database connection. 1
Connection::setTarget public function Tells this connection object what its target value is.
Connection::supportsTransactionalDDL public function Determines if this driver supports transactional DDL.
Connection::tablePrefix Deprecated public function Find the prefix for a table.
Connection::transactionDepth Deprecated public function Determines the current transaction depth.
Connection::transactionManager public function Returns the transaction manager.
Connection::version public function Returns the version of the database server. 1
Connection::__destruct public function Ensures that the client 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::$statementWrapperClass protected property The name of the StatementWrapper class for this connection. Overrides Connection::$statementWrapperClass
StubConnection::condition public function Prepares and returns a CONDITION query object. Overrides Connection::condition
StubConnection::createDatabase public function Creates a database. Overrides Connection::createDatabase
StubConnection::databaseType public function Returns the name of the database engine accessed by this driver. Overrides Connection::databaseType
StubConnection::delete public function Prepares and returns a DELETE query object. Overrides Connection::delete
StubConnection::driver public function Returns the type of database driver. Overrides Connection::driver
StubConnection::exceptionHandler public function Returns the database exceptions handler. Overrides Connection::exceptionHandler
StubConnection::insert public function Prepares and returns an INSERT query object. Overrides Connection::insert
StubConnection::mapConditionOperator public function Gets any special processing requirements for the condition operator. Overrides Connection::mapConditionOperator
StubConnection::merge public function Prepares and returns a MERGE query object. Overrides Connection::merge
StubConnection::nextId public function Retrieves a unique ID from a given sequence. Overrides Connection::nextId
StubConnection::open public static function Opens a client connection. Overrides Connection::open
StubConnection::queryRange public function Runs a limited-range query on this database object. Overrides Connection::queryRange
StubConnection::schema public function Returns a DatabaseSchema object for manipulating the schema. Overrides Connection::schema
StubConnection::select public function Prepares and returns a SELECT query object. Overrides Connection::select
StubConnection::startTransaction public function Returns a new DatabaseTransaction object on this connection. Overrides Connection::startTransaction
StubConnection::testLogCaller public function Helper method to test database classes are not included in backtraces.
StubConnection::truncate public function Prepares and returns a TRUNCATE query object. Overrides Connection::truncate
StubConnection::update public function Prepares and returns an UPDATE query object. Overrides Connection::update
StubConnection::upsert public function Prepares and returns an UPSERT query object. Overrides Connection::upsert
StubConnection::__construct public function Constructs a Connection object. Overrides Connection::__construct

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.