class StubConnection

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

  • class \Drupal\Core\Database\Connection
    • class \Drupal\Tests\Core\Database\Stub\StubConnection extends \Drupal\Core\Database\Connection

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 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 queryTemporary($query, array $args = [], array $options = []) {
        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

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::$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::attachDatabase public function Allows the connection to access additional databases. 1
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 a 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::hasJson public function Runs a simple query to validate json datatype support. 1
Connection::insert public function Prepares and returns an INSERT query object.
Connection::inTransaction public function Determines if there is an active transaction open.
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 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::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. 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::$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 database engine accessed by this driver. 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::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::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

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