/**
  * Rolls back to the given savepoint.
  *
  * @param string $savepoint The name of the savepoint to rollback to.
  *
  * @return void
  *
  * @throws \Doctrine\DBAL\ConnectionException
  */
 public function rollbackSavepoint($savepoint)
 {
     if (!$this->_platform->supportsSavepoints()) {
         throw ConnectionException::savepointsNotSupported();
     }
     $this->_conn->exec($this->_platform->rollbackSavePoint($savepoint));
 }
 /**
  * Sets if nested transactions should use savepoints.
  *
  * @param boolean $nestTransactionsWithSavepoints
  *
  * @return void
  *
  * @throws \Doctrine\DBAL\ConnectionException
  */
 public function setNestTransactionsWithSavepoints($nestTransactionsWithSavepoints)
 {
     if ($this->_transactionNestingLevel > 0) {
         throw ConnectionException::mayNotAlterNestedTransactionWithSavepointsInTransaction();
     }
     if (!$this->getDatabasePlatform()->supportsSavepoints()) {
         throw ConnectionException::savepointsNotSupported();
     }
     $this->_nestTransactionsWithSavepoints = (bool) $nestTransactionsWithSavepoints;
 }