function TransactionManager::rollbackClientTransaction

Same name in this branch
  1. 11.x core/modules/sqlite/src/Driver/Database/sqlite/TransactionManager.php \Drupal\sqlite\Driver\Database\sqlite\TransactionManager::rollbackClientTransaction()
  2. 11.x core/modules/mysql/src/Driver/Database/mysql/TransactionManager.php \Drupal\mysql\Driver\Database\mysql\TransactionManager::rollbackClientTransaction()
  3. 11.x core/modules/pgsql/src/Driver/Database/pgsql/TransactionManager.php \Drupal\pgsql\Driver\Database\pgsql\TransactionManager::rollbackClientTransaction()
Same name and namespace in other branches
  1. 10 core/modules/sqlite/src/Driver/Database/sqlite/TransactionManager.php \Drupal\sqlite\Driver\Database\sqlite\TransactionManager::rollbackClientTransaction()
  2. 10 core/modules/mysql/src/Driver/Database/mysql/TransactionManager.php \Drupal\mysql\Driver\Database\mysql\TransactionManager::rollbackClientTransaction()
  3. 10 core/modules/pgsql/src/Driver/Database/pgsql/TransactionManager.php \Drupal\pgsql\Driver\Database\pgsql\TransactionManager::rollbackClientTransaction()

Rolls back a client transaction.

Return value

bool Returns TRUE on success or FALSE on failure.

Overrides TransactionManagerBase::rollbackClientTransaction

File

core/modules/mysqli/src/Driver/Database/mysqli/TransactionManager.php, line 58

Class

TransactionManager
MySqli implementation of TransactionManagerInterface.

Namespace

Drupal\mysqli\Driver\Database\mysqli

Code

protected function rollbackClientTransaction() : bool {
  // Note: mysqli::rollback() returns TRUE if there's no active transaction.
  // This is diverging from PDO MySql. A PHP bug report exists.
  // @see https://bugs.php.net/bug.php?id=81533.
  $clientRollback = $this->connection
    ->getClientConnection()
    ->rollBack();
  $this->setConnectionTransactionState($clientRollback ? ClientConnectionTransactionState::RolledBack : ClientConnectionTransactionState::RollbackFailed);
  return $clientRollback;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.