DatabaseConnection::pushTransaction
public function DatabaseConnection::pushTransaction
public DatabaseConnection::pushTransaction($name)
Increases the depth of transaction nesting.
If no transaction is already active, we begin a new transaction.
Throws
DatabaseTransactionNameNonUniqueException
See also
File
- includes/database/database.inc, line 1084
- Core systems for the database layer.
Class
- DatabaseConnection
- Base Database API class.
Code
public function pushTransaction($name) { if (!$this->supportsTransactions()) { return; } if (isset($this->transactionLayers[$name])) { throw new DatabaseTransactionNameNonUniqueException($name . " is already in use."); } // If we're already in a transaction then we want to create a savepoint // rather than try to create another transaction. if ($this->inTransaction()) { $this->query('SAVEPOINT ' . $name); } else { parent::beginTransaction(); } $this->transactionLayers[$name] = $name; }
© 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::pushTransaction/7.x