/** * Roll back (undo) the current transaction. * @throws SQLException * @return void */ protected function rollbackTrans() { if ($this->adapter->supportsTransactions()) { $result = @odbc_rollback($this->dblink); if (!$result) { throw new SQLException('Could not rollback transaction', $this->nativeError()); } @odbc_autocommit($this->dblink, true); if (odbc_error($this->dblink) == 'S1C00') { throw new SQLException('Could not rollback transaction (autocommit failed)', $this->nativeError()); } } }