/** * @return void */ public function rollBack() { if ($this->transactions == 1) { $this->pdo->rollBack(); } elseif ($this->transactions > 1 && $this->queryGrammar->supportsSavepoints()) { $this->pdo->exec($this->queryGrammar->compileSavepointRollBack('trans' . $this->transactions)); } $this->transactions = max(0, $this->transactions - 1); $this->fireConnectionEvent('rollingBack'); }