Пример #1
0
 /**
  * Method to initialize a transaction.
  *
  * @param   boolean  $asSavepoint  If true and a transaction is already active, a savepoint will be created.
  *
  * @return  void
  *
  * @since   1.0
  * @throws  \RuntimeException
  */
 public function transactionStart($asSavepoint = false)
 {
     $this->connect();
     if (!$asSavepoint || !$this->transactionDepth) {
         parent::transactionStart($asSavepoint);
     } else {
         $savepoint = 'SP_' . $this->transactionDepth;
         $this->setQuery('SAVEPOINT ' . $this->quoteName($savepoint));
         if ($this->execute()) {
             $this->transactionDepth++;
         }
     }
 }