class StubConnection

Same name 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. 10 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

6 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
DatabaseEventsTest.php in core/tests/Drupal/Tests/Core/Database/DatabaseEventsTest.php
InstallerRedirectTraitTest.php in core/tests/Drupal/KernelTests/Core/Installer/InstallerRedirectTraitTest.php
OrderByTest.php in core/tests/Drupal/Tests/Core/Database/OrderByTest.php

... See full list

File

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

Namespace

Drupal\Tests\Core\Database\Stub
View source
class StubConnection extends Connection {
    
    /**
     * {@inheritdoc}
     */
    protected $statementWrapperClass = StatementWrapperIterator::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;
    }
    
    /**
     * 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 upsert($table, array $options = []) {
        return new StubUpsert($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);
    }

}

Members

Title Sort descending 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::$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::$transactionManager protected property The transaction manager.
Connection::attachDatabase public function Allows the connection to access additional databases. 1
Connection::clientVersion public function Returns the version of the database client.
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::delete public function Prepares and returns a DELETE query object. 2
Connection::disableEvents public function Disables database API events dispatching.
Connection::dispatchEvent public function Dispatches a database API event via the container dispatcher.
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::hasJson public function Runs a simple query to validate json datatype support. 1
Connection::insert public function Prepares and returns an INSERT query object. 4
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::merge public function Prepares and returns a MERGE query object. 1
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::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::select public function Prepares and returns a SELECT query object. 3
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::startTransaction public function Returns a new DatabaseTransaction object on this connection. 1
Connection::supportsTransactionalDDL public function Determines if this driver supports transactional DDL.
Connection::transactionManager public function Returns the transaction manager.
Connection::truncate public function Prepares and returns a TRUNCATE query object. 3
Connection::update public function Prepares and returns an UPDATE query object. 2
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. 1
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::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::mapConditionOperator public function Gets any special processing requirements for the condition operator. Overrides Connection::mapConditionOperator
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::testLogCaller public function Helper method to test database classes are not included in backtraces.
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.