DatabaseConnection::popTransaction
public function DatabaseConnection::popTransaction
public DatabaseConnection::popTransaction($name)
Decreases the depth of transaction nesting.
If we pop off the last transaction layer, then we either commit or roll back the transaction as necessary. If no transaction is active, we return because the transaction may have manually been rolled back.
Parameters
$name: The name of the savepoint
Throws
DatabaseTransactionNoActiveException
DatabaseTransactionCommitFailedException
See also
File
- includes/database/database.inc, line 1117
- Core systems for the database layer.
Class
- DatabaseConnection
- Base Database API class.
Code
public function popTransaction($name) { if (!$this->supportsTransactions()) { return; } // The transaction has already been committed earlier. There is nothing we // need to do. If this transaction was part of an earlier out-of-order // rollback, an exception would already have been thrown by // Database::rollback(). if (!isset($this->transactionLayers[$name])) { return; } // Mark this layer as committable. $this->transactionLayers[$name] = FALSE; $this->popCommittableTransactions(); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!database!database.inc/function/DatabaseConnection::popTransaction/7.x