コード例 #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   12.3
  * @throws  RuntimeException
  */
 public function transactionStart($asSavepoint = false)
 {
     $this->connect();
     if (!$asSavepoint || !$this->transactionDepth) {
         return parent::transactionStart($asSavepoint);
     }
     $savepoint = 'SP_' . $this->transactionDepth;
     $this->setQuery('SAVEPOINT ' . $this->quoteName($savepoint));
     if ($this->execute()) {
         $this->transactionDepth++;
     }
 }