class Connection
Same name in this branch
- 11.x core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection
- 11.x core/modules/system/tests/modules/driver_test/src/Driver/Database/DriverTestMysql/Connection.php \Drupal\driver_test\Driver\Database\DriverTestMysql\Connection
- 11.x core/modules/system/tests/modules/driver_test/src/Driver/Database/DriverTestMysqlDeprecatedVersion/Connection.php \Drupal\driver_test\Driver\Database\DriverTestMysqlDeprecatedVersion\Connection
- 11.x core/modules/system/tests/modules/driver_test/src/Driver/Database/DriverTestPgsql/Connection.php \Drupal\driver_test\Driver\Database\DriverTestPgsql\Connection
- 11.x core/modules/pgsql/src/Driver/Database/pgsql/Connection.php \Drupal\pgsql\Driver\Database\pgsql\Connection
- 11.x core/tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFake/Connection.php \Drupal\core_fake\Driver\Database\CoreFake\Connection
- 11.x core/tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFakeWithAllCustomClasses/Connection.php \Drupal\core_fake\Driver\Database\CoreFakeWithAllCustomClasses\Connection
- 11.x core/tests/fixtures/database_drivers/core/CoreFake/Connection.php \Drupal\Core\Database\Driver\CoreFake\Connection
- 11.x core/tests/fixtures/database_drivers/custom/CoreFake/Connection.php \Drupal\Driver\Database\CoreFake\Connection
- 11.x core/tests/fixtures/database_drivers/custom/fake/Connection.php \Drupal\Driver\Database\fake\Connection
- 11.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection
Same name in other branches
- 9 core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection
- 9 core/modules/mysql/src/Driver/Database/mysql/Connection.php \Drupal\mysql\Driver\Database\mysql\Connection
- 9 core/modules/system/tests/modules/database_statement_monitoring_test/src/sqlite/Connection.php \Drupal\database_statement_monitoring_test\sqlite\Connection
- 9 core/modules/system/tests/modules/database_statement_monitoring_test/src/mysql/Connection.php \Drupal\database_statement_monitoring_test\mysql\Connection
- 9 core/modules/system/tests/modules/database_statement_monitoring_test/src/pgsql/Connection.php \Drupal\database_statement_monitoring_test\pgsql\Connection
- 9 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysql/Connection.php \Drupal\driver_test\Driver\Database\DrivertestMysql\Connection
- 9 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Connection.php \Drupal\driver_test\Driver\Database\DrivertestMysqlDeprecatedVersion\Connection
- 9 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestPgsql/Connection.php \Drupal\driver_test\Driver\Database\DrivertestPgsql\Connection
- 9 core/modules/pgsql/src/Driver/Database/pgsql/Connection.php \Drupal\pgsql\Driver\Database\pgsql\Connection
- 9 core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefake/Connection.php \Drupal\corefake\Driver\Database\corefake\Connection
- 9 core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefakeWithAllCustomClasses/Connection.php \Drupal\corefake\Driver\Database\corefakeWithAllCustomClasses\Connection
- 9 core/tests/fixtures/database_drivers/core/corefake/Connection.php \Drupal\Core\Database\Driver\corefake\Connection
- 9 core/tests/fixtures/database_drivers/custom/corefake/Connection.php \Drupal\Driver\Database\corefake\Connection
- 9 core/tests/fixtures/database_drivers/custom/fake/Connection.php \Drupal\Driver\Database\fake\Connection
- 9 core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php \Drupal\Core\Database\Driver\sqlite\Connection
- 9 core/lib/Drupal/Core/Database/Driver/mysql/Connection.php \Drupal\Core\Database\Driver\mysql\Connection
- 9 core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php \Drupal\Core\Database\Driver\pgsql\Connection
- 9 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection
- 8.9.x core/modules/system/tests/modules/database_statement_monitoring_test/src/sqlite/Connection.php \Drupal\database_statement_monitoring_test\sqlite\Connection
- 8.9.x core/modules/system/tests/modules/database_statement_monitoring_test/src/mysql/Connection.php \Drupal\database_statement_monitoring_test\mysql\Connection
- 8.9.x core/modules/system/tests/modules/database_statement_monitoring_test/src/pgsql/Connection.php \Drupal\database_statement_monitoring_test\pgsql\Connection
- 8.9.x core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysql/Connection.php \Drupal\driver_test\Driver\Database\DrivertestMysql\Connection
- 8.9.x core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Connection.php \Drupal\driver_test\Driver\Database\DrivertestMysqlDeprecatedVersion\Connection
- 8.9.x core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestPgsql/Connection.php \Drupal\driver_test\Driver\Database\DrivertestPgsql\Connection
- 8.9.x core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefake/Connection.php \Drupal\corefake\Driver\Database\corefake\Connection
- 8.9.x core/tests/fixtures/database_drivers/core/corefake/Connection.php \Drupal\Core\Database\Driver\corefake\Connection
- 8.9.x core/tests/fixtures/database_drivers/custom/corefake/Connection.php \Drupal\Driver\Database\corefake\Connection
- 8.9.x core/tests/fixtures/database_drivers/custom/fake/Connection.php \Drupal\Driver\Database\fake\Connection
- 8.9.x core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php \Drupal\Core\Database\Driver\sqlite\Connection
- 8.9.x core/lib/Drupal/Core/Database/Driver/mysql/Connection.php \Drupal\Core\Database\Driver\mysql\Connection
- 8.9.x core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php \Drupal\Core\Database\Driver\pgsql\Connection
- 8.9.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection
- 10 core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection
- 10 core/modules/mysql/src/Driver/Database/mysql/Connection.php \Drupal\mysql\Driver\Database\mysql\Connection
- 10 core/modules/system/tests/modules/database_statement_monitoring_test/src/sqlite/Connection.php \Drupal\database_statement_monitoring_test\sqlite\Connection
- 10 core/modules/system/tests/modules/database_statement_monitoring_test/src/mysql/Connection.php \Drupal\database_statement_monitoring_test\mysql\Connection
- 10 core/modules/system/tests/modules/database_statement_monitoring_test/src/pgsql/Connection.php \Drupal\database_statement_monitoring_test\pgsql\Connection
- 10 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysql/Connection.php \Drupal\driver_test\Driver\Database\DrivertestMysql\Connection
- 10 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestMysqlDeprecatedVersion/Connection.php \Drupal\driver_test\Driver\Database\DrivertestMysqlDeprecatedVersion\Connection
- 10 core/modules/system/tests/modules/driver_test/src/Driver/Database/DrivertestPgsql/Connection.php \Drupal\driver_test\Driver\Database\DrivertestPgsql\Connection
- 10 core/modules/pgsql/src/Driver/Database/pgsql/Connection.php \Drupal\pgsql\Driver\Database\pgsql\Connection
- 10 core/tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFake/Connection.php \Drupal\core_fake\Driver\Database\CoreFake\Connection
- 10 core/tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFakeWithAllCustomClasses/Connection.php \Drupal\core_fake\Driver\Database\CoreFakeWithAllCustomClasses\Connection
- 10 core/tests/fixtures/database_drivers/core/CoreFake/Connection.php \Drupal\Core\Database\Driver\CoreFake\Connection
- 10 core/tests/fixtures/database_drivers/custom/CoreFake/Connection.php \Drupal\Driver\Database\CoreFake\Connection
- 10 core/tests/fixtures/database_drivers/custom/fake/Connection.php \Drupal\Driver\Database\fake\Connection
- 10 core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php \Drupal\Core\Database\Driver\sqlite\Connection
- 10 core/lib/Drupal/Core/Database/Driver/mysql/Connection.php \Drupal\Core\Database\Driver\mysql\Connection
- 10 core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php \Drupal\Core\Database\Driver\pgsql\Connection
- 10 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection
MySQL implementation of \Drupal\Core\Database\Connection.
Hierarchy
- class \Drupal\Core\Database\Connection
- class \Drupal\mysql\Driver\Database\mysql\Connection extends \Drupal\Core\Database\Connection implements \Drupal\Core\Database\SupportsTemporaryTablesInterface
Expanded class hierarchy of Connection
Related topics
6 files declare their use of Connection
- Connection.php in core/
modules/ system/ tests/ modules/ driver_test/ src/ Driver/ Database/ DriverTestMysql/ Connection.php - Connection.php in core/
modules/ system/ tests/ modules/ driver_test/ src/ Driver/ Database/ DriverTestMysqlDeprecatedVersion/ Connection.php - ConnectionTest.php in core/
modules/ mysql/ tests/ src/ Unit/ ConnectionTest.php - InstallTasksTest.php in core/
modules/ mysql/ tests/ src/ Unit/ InstallTasksTest.php - MysqlDriverTest.php in core/
modules/ mysql/ tests/ src/ Kernel/ mysql/ MysqlDriverTest.php
5 string references to 'Connection'
- DriverSpecificConnectionUnitTestBase::testConnectionOpen in core/
tests/ Drupal/ KernelTests/ Core/ Database/ DriverSpecificConnectionUnitTestBase.php - Tests pdo options override.
- FileTransfer::__get in core/
lib/ Drupal/ Core/ FileTransfer/ FileTransfer.php - Implements the magic __get() method.
- FileTransfer::__isset in core/
lib/ Drupal/ Core/ FileTransfer/ FileTransfer.php - FileTransfer::__set in core/
lib/ Drupal/ Core/ FileTransfer/ FileTransfer.php - FileTransfer::__unset in core/
lib/ Drupal/ Core/ FileTransfer/ FileTransfer.php
File
-
core/
modules/ mysql/ src/ Driver/ Database/ mysql/ Connection.php, line 22
Namespace
Drupal\mysql\Driver\Database\mysqlView source
class Connection extends DatabaseConnection implements SupportsTemporaryTablesInterface {
/**
* Error code for "Unknown database" error.
*/
const DATABASE_NOT_FOUND = 1049;
/**
* Error code for "Access denied" error.
*/
const ACCESS_DENIED = 1045;
/**
* Error code for "Connection refused".
*/
const CONNECTION_REFUSED = 2002;
/**
* {@inheritdoc}
*/
protected $statementWrapperClass = StatementWrapperIterator::class;
/**
* Stores the server version after it has been retrieved from the database.
*
* @var string
*
* @see \Drupal\mysql\Driver\Database\mysql\Connection::version
*/
private $serverVersion;
/**
* The minimal possible value for the max_allowed_packet setting of MySQL.
*
* @link https://mariadb.com/kb/en/mariadb/server-system-variables/#max_allowed_packet
* @link https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_allowed_packet
*
* @var int
*/
const MIN_MAX_ALLOWED_PACKET = 1024;
/**
* {@inheritdoc}
*/
protected $identifierQuotes = [
'"',
'"',
];
/**
* {@inheritdoc}
*/
public function __construct(\PDO $connection, array $connection_options) {
// If the SQL mode doesn't include 'ANSI_QUOTES' (explicitly or via a
// combination mode), then MySQL doesn't interpret a double quote as an
// identifier quote, in which case use the non-ANSI-standard backtick.
//
// @see https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_ansi_quotes
$ansi_quotes_modes = [
'ANSI_QUOTES',
'ANSI',
];
$is_ansi_quotes_mode = FALSE;
if (isset($connection_options['init_commands']['sql_mode'])) {
foreach ($ansi_quotes_modes as $mode) {
// None of the modes in $ansi_quotes_modes are substrings of other modes
// that are not in $ansi_quotes_modes, so a simple stripos() does not
// return false positives.
if (stripos($connection_options['init_commands']['sql_mode'], $mode) !== FALSE) {
$is_ansi_quotes_mode = TRUE;
break;
}
}
}
if ($this->identifierQuotes === [
'"',
'"',
] && !$is_ansi_quotes_mode) {
$this->identifierQuotes = [
'`',
'`',
];
}
parent::__construct($connection, $connection_options);
}
/**
* {@inheritdoc}
*/
public static function open(array &$connection_options = []) {
// The DSN should use either a socket or a host/port.
if (isset($connection_options['unix_socket'])) {
$dsn = 'mysql:unix_socket=' . $connection_options['unix_socket'];
}
else {
// Default to TCP connection on port 3306.
$dsn = 'mysql:host=' . $connection_options['host'] . ';port=' . (empty($connection_options['port']) ? 3306 : $connection_options['port']);
}
// Character set is added to dsn to ensure PDO uses the proper character
// set when escaping. This has security implications. See
// https://www.drupal.org/node/1201452 for further discussion.
$dsn .= ';charset=utf8mb4';
if (!empty($connection_options['database'])) {
$dsn .= ';dbname=' . $connection_options['database'];
}
// Allow PDO options to be overridden.
$connection_options += [
'pdo' => [],
];
$connection_options['pdo'] += [
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
// So we don't have to mess around with cursors and unbuffered queries by default.
\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => TRUE,
// Make sure MySQL returns all matched rows on update queries including
// rows that actually didn't have to be updated because the values didn't
// change. This matches common behavior among other database systems.
\PDO::MYSQL_ATTR_FOUND_ROWS => TRUE,
// Because MySQL's prepared statements skip the query cache, because it's dumb.
\PDO::ATTR_EMULATE_PREPARES => TRUE,
// Limit SQL to a single statement like mysqli.
\PDO::MYSQL_ATTR_MULTI_STATEMENTS => FALSE,
// Convert numeric values to strings when fetching. In PHP 8.1,
// \PDO::ATTR_EMULATE_PREPARES now behaves the same way as non emulated
// prepares and returns integers. See https://externals.io/message/113294
// for further discussion.
\PDO::ATTR_STRINGIFY_FETCHES => TRUE,
];
try {
$pdo = new \PDO($dsn, $connection_options['username'], $connection_options['password'], $connection_options['pdo']);
} catch (\PDOException $e) {
switch ($e->getCode()) {
case static::CONNECTION_REFUSED:
if (isset($connection_options['unix_socket'])) {
// Show message for socket connection via 'unix_socket' option.
$message = 'Drupal is configured to connect to the database server via a socket, but the socket file could not be found.';
$message .= ' This message normally means that there is no MySQL server running on the system or that you are using an incorrect Unix socket file name when trying to connect to the server.';
throw new DatabaseConnectionRefusedException($e->getMessage() . ' [Tip: ' . $message . '] ', $e->getCode(), $e);
}
if (isset($connection_options['host']) && in_array(strtolower($connection_options['host']), [
'',
'localhost',
], TRUE)) {
// Show message for socket connection via 'host' option.
$message = 'Drupal was attempting to connect to the database server via a socket, but the socket file could not be found.';
$message .= ' A Unix socket file is used if you do not specify a host name or if you specify the special host name localhost.';
$message .= ' To connect via TCP/IP use an IP address (127.0.0.1 for IPv4) instead of "localhost".';
$message .= ' This message normally means that there is no MySQL server running on the system or that you are using an incorrect Unix socket file name when trying to connect to the server.';
throw new DatabaseConnectionRefusedException($e->getMessage() . ' [Tip: ' . $message . '] ', $e->getCode(), $e);
}
// Show message for TCP/IP connection.
$message = 'This message normally means that there is no MySQL server running on the system or that you are using an incorrect host name or port number when trying to connect to the server.';
$message .= ' You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.';
throw new DatabaseConnectionRefusedException($e->getMessage() . ' [Tip: ' . $message . '] ', $e->getCode(), $e);
case static::DATABASE_NOT_FOUND:
throw new DatabaseNotFoundException($e->getMessage(), $e->getCode(), $e);
case static::ACCESS_DENIED:
throw new DatabaseAccessDeniedException($e->getMessage(), $e->getCode(), $e);
default:
throw $e;
}
}
// Force MySQL to use the UTF-8 character set. Also set the collation, if a
// certain one has been set; otherwise, MySQL defaults to
// 'utf8mb4_general_ci' (MySQL 5) or 'utf8mb4_0900_ai_ci' (MySQL 8) for
// utf8mb4.
if (!empty($connection_options['collation'])) {
$pdo->exec('SET NAMES utf8mb4 COLLATE ' . $connection_options['collation']);
}
else {
$pdo->exec('SET NAMES utf8mb4');
}
// Set MySQL init_commands if not already defined. Default Drupal's MySQL
// behavior to conform more closely to SQL standards. This allows Drupal
// to run almost seamlessly on many different kinds of database systems.
// These settings force MySQL to behave the same as postgresql, or sqlite
// in regards to syntax interpretation and invalid data handling. See
// https://www.drupal.org/node/344575 for further discussion. Also, as MySQL
// 5.5 changed the meaning of TRADITIONAL we need to spell out the modes one
// by one.
$connection_options += [
'init_commands' => [],
];
$connection_options['init_commands'] += [
'sql_mode' => "SET sql_mode = 'ANSI,TRADITIONAL'",
];
if (!empty($connection_options['isolation_level'])) {
$connection_options['init_commands'] += [
'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL ' . strtoupper($connection_options['isolation_level']),
];
}
// Execute initial commands.
foreach ($connection_options['init_commands'] as $sql) {
$pdo->exec($sql);
}
return $pdo;
}
public function queryRange($query, $from, $count, array $args = [], array $options = []) {
return $this->query($query . ' LIMIT ' . (int) $from . ', ' . (int) $count, $args, $options);
}
/**
* {@inheritdoc}
*/
public function queryTemporary($query, array $args = [], array $options = []) {
$tablename = 'db_temporary_' . uniqid();
$this->query('CREATE TEMPORARY TABLE {' . $tablename . '} Engine=MEMORY ' . $query, $args, $options);
return $tablename;
}
public function driver() {
return 'mysql';
}
/**
* {@inheritdoc}
*/
public function version() {
if ($this->isMariaDb()) {
return $this->getMariaDbVersionMatch();
}
return $this->getServerVersion();
}
/**
* Determines whether the MySQL distribution is MariaDB or not.
*
* @return bool
* Returns TRUE if the distribution is MariaDB, or FALSE if not.
*/
public function isMariaDb() : bool {
return (bool) $this->getMariaDbVersionMatch();
}
/**
* Gets the MariaDB portion of the server version.
*
* @return string
* The MariaDB portion of the server version if present, or NULL if not.
*/
protected function getMariaDbVersionMatch() : ?string {
// MariaDB may prefix its version string with '5.5.5-', which should be
// ignored.
// @see https://github.com/MariaDB/server/blob/f6633bf058802ad7da8196d01fd19d75c53f7274/include/mysql_com.h#L42.
$regex = '/^(?:5\\.5\\.5-)?(\\d+\\.\\d+\\.\\d+.*-mariadb.*)/i';
preg_match($regex, $this->getServerVersion(), $matches);
return empty($matches[1]) ? NULL : $matches[1];
}
/**
* Gets the server version.
*
* @return string
* The PDO server version.
*/
protected function getServerVersion() : string {
if (!$this->serverVersion) {
$this->serverVersion = $this->query('SELECT VERSION()')
->fetchField();
}
return $this->serverVersion;
}
public function databaseType() {
return 'mysql';
}
/**
* Overrides \Drupal\Core\Database\Connection::createDatabase().
*
* @param string $database
* The name of the database to create.
*
* @throws \Drupal\Core\Database\DatabaseNotFoundException
*/
public function createDatabase($database) {
// Escape the database name.
$database = Database::getConnection()->escapeDatabase($database);
try {
// Create the database and set it as active.
$this->connection
->exec("CREATE DATABASE {$database}");
$this->connection
->exec("USE {$database}");
} catch (\Exception $e) {
throw new DatabaseNotFoundException($e->getMessage());
}
}
public function mapConditionOperator($operator) {
// We don't want to override any of the defaults.
return NULL;
}
/**
* {@inheritdoc}
*/
public function exceptionHandler() {
return new ExceptionHandler();
}
/**
* {@inheritdoc}
*/
public function insert($table, array $options = []) {
return new Insert($this, $table, $options);
}
/**
* {@inheritdoc}
*/
public function upsert($table, array $options = []) {
return new Upsert($this, $table, $options);
}
/**
* {@inheritdoc}
*/
public function schema() {
if (empty($this->schema)) {
$this->schema = new Schema($this);
}
return $this->schema;
}
/**
* {@inheritdoc}
*/
protected function driverTransactionManager() : TransactionManagerInterface {
return new TransactionManager($this);
}
}
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. | Overrides Connection::$identifierQuotes | |
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::$serverVersion | private | property | Stores the server version after it has been retrieved from the database. | ||
Connection::$statementWrapperClass | protected | property | The name of the StatementWrapper class for this connection. | Overrides Connection::$statementWrapperClass | |
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::ACCESS_DENIED | constant | Error code for "Access denied" error. | |||
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::condition | public | function | Prepares and returns a CONDITION query object. | 2 | |
Connection::CONNECTION_REFUSED | constant | Error code for "Connection refused". | |||
Connection::createConnectionOptionsFromUrl | public static | function | Creates an array of database connection options from a URL. | 1 | |
Connection::createDatabase | public | function | Overrides \Drupal\Core\Database\Connection::createDatabase(). | Overrides Connection::createDatabase | |
Connection::createUrlFromConnectionOptions | public static | function | Creates a URL from an array of database connection options. | 1 | |
Connection::databaseType | public | function | Returns the name of the database engine accessed by this driver. | Overrides Connection::databaseType | |
Connection::DATABASE_NOT_FOUND | constant | Error code for "Unknown database" error. | |||
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::driver | public | function | Returns the type of database driver. | Overrides Connection::driver | 2 |
Connection::driverTransactionManager | protected | function | Returns a new instance of the driver's transaction manager. | Overrides Connection::driverTransactionManager | |
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::exceptionHandler | public | function | Returns the database exceptions handler. | Overrides Connection::exceptionHandler | |
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::getMariaDbVersionMatch | protected | function | Gets the MariaDB portion of the server version. | ||
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::getServerVersion | protected | function | Gets the server version. | 1 | |
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. | Overrides Connection::insert | |
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::isMariaDb | public | function | Determines whether the MySQL distribution is MariaDB or not. | 1 | |
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::mapConditionOperator | public | function | Gets any special processing requirements for the condition operator. | Overrides Connection::mapConditionOperator | |
Connection::merge | public | function | Prepares and returns a MERGE query object. | 1 | |
Connection::MIN_MAX_ALLOWED_PACKET | constant | The minimal possible value for the max_allowed_packet setting of MySQL. | |||
Connection::open | public static | function | Opens a client connection. | Overrides Connection::open | |
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::queryRange | public | function | Runs a limited-range query on this database object. | Overrides Connection::queryRange | |
Connection::queryTemporary | public | function | Runs a SELECT query and stores its results in a temporary table. | Overrides SupportsTemporaryTablesInterface::queryTemporary | |
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::schema | public | function | Returns a DatabaseSchema object for manipulating the schema. | Overrides Connection::schema | |
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::upsert | public | function | Prepares and returns an UPSERT query object. | Overrides Connection::upsert | |
Connection::version | public | function | Returns the version of the database server. | Overrides Connection::version | 1 |
Connection::__construct | public | function | Constructs a Connection object. | Overrides Connection::__construct | |
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. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.