$this->
query('RELEASE SAVEPOINT ' .
$name);
} } } /**
* Do the actual commit, invoke post-commit callbacks.
*
* @internal
*/
protected function doCommit() { $success =
$this->connection->
commit();
if (!
empty($this->rootTransactionEndCallbacks
)) { $callbacks =
$this->rootTransactionEndCallbacks;
$this->rootTransactionEndCallbacks =
[];
foreach ($callbacks as $callback) { call_user_func($callback,
$success);
} } if (!
$success) { throw new TransactionCommitFailedException();
} }