function Database::closeConnection
Same name in other branches
- 7.x includes/database/database.inc \Database::closeConnection()
- 9 core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::closeConnection()
- 8.9.x core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::closeConnection()
- 10 core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::closeConnection()
Closes a connection to the server specified by the given key and target.
Parameters
string $target: The database target name. Defaults to NULL meaning that all target connections will be closed.
string $key: The database connection key. Defaults to NULL which means the active key.
18 calls to Database::closeConnection()
- ConnectionFailureTest::testConnectionFailureLogging in core/
modules/ dblog/ tests/ src/ Kernel/ ConnectionFailureTest.php - Tests logging of connection failures.
- ConnectionTest::testConnectionClosing in core/
tests/ Drupal/ KernelTests/ Core/ Database/ ConnectionTest.php - Tests the closing of a database connection.
- Database::removeConnection in core/
lib/ Drupal/ Core/ Database/ Database.php - Remove a connection and its corresponding connection information.
- DriverSpecificConnectionUnitTestBase::testOpenClose in core/
tests/ Drupal/ KernelTests/ Core/ Database/ DriverSpecificConnectionUnitTestBase.php - Tests Database::closeConnection() without query.
- DriverSpecificConnectionUnitTestBase::testOpenQueryClose in core/
tests/ Drupal/ KernelTests/ Core/ Database/ DriverSpecificConnectionUnitTestBase.php - Tests Database::closeConnection() with a query.
File
-
core/
lib/ Drupal/ Core/ Database/ Database.php, line 441
Class
- Database
- Primary front-controller for the database system.
Namespace
Drupal\Core\DatabaseCode
public static function closeConnection($target = NULL, $key = NULL) {
// Gets the active connection by default.
if (!isset($key)) {
$key = self::$activeKey;
}
if (isset($target) && isset(self::$connections[$key][$target])) {
if (self::$connections[$key][$target] instanceof Connection) {
self::$connections[$key][$target]->commitAll();
}
unset(self::$connections[$key][$target]);
}
elseif (isset(self::$connections[$key])) {
foreach (self::$connections[$key] as $connection) {
if ($connection instanceof Connection) {
$connection->commitAll();
}
}
unset(self::$connections[$key]);
}
// When last connection for $key is closed, we also stop any active
// logging.
if (empty(self::$connections[$key])) {
unset(self::$logs[$key]);
}
// Force garbage collection to run. This ensures that client connection
// objects and results in the connection being closed are destroyed.
gc_collect_cycles();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.