function TransactionManagerBase::voidClientTransaction
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Database/Transaction/TransactionManagerBase.php \Drupal\Core\Database\Transaction\TransactionManagerBase::voidClientTransaction()
Voids the client connection.
In some cases the active transaction can be automatically committed by the database server (for example, MySql when a DDL statement is executed during a transaction). In such cases we need to void the remaining items on the stack so that when outliving Transaction object get out of scope the do not try operations on the database.
This method should only be called internally by a database driver.
Overrides TransactionManagerInterface::voidClientTransaction
4 calls to TransactionManagerBase::voidClientTransaction()
- TransactionManager::processRootCommit in core/
modules/ mysql/ src/ Driver/ Database/ mysql/ TransactionManager.php - Processes the root transaction commit.
- TransactionManager::releaseClientSavepoint in core/
modules/ mysql/ src/ Driver/ Database/ mysql/ TransactionManager.php - Releases a savepoint on the client transaction.
- TransactionManager::rollbackClientSavepoint in core/
modules/ mysql/ src/ Driver/ Database/ mysql/ TransactionManager.php - Rolls back to a savepoint on the client transaction.
- TransactionManager::rollbackClientTransaction in core/
modules/ mysql/ src/ Driver/ Database/ mysql/ TransactionManager.php - Rolls back a client transaction.
File
-
core/
lib/ Drupal/ Core/ Database/ Transaction/ TransactionManagerBase.php, line 571
Class
- TransactionManagerBase
- The database transaction manager base class.
Namespace
Drupal\Core\Database\TransactionCode
public function voidClientTransaction() : void {
while ($i = array_key_last($this->stack())) {
$this->voidStackItem((string) $i);
}
$this->setConnectionTransactionState(ClientConnectionTransactionState::Voided);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.