private function onErrorRollback(callable $code)
    {
        if (!$this->pdo->inTransaction()) {
            return call_user_func($code);
        }
        
        $this->pdo->exec("SAVEPOINT onErrorRollback");
        try {
            $result = call_user_func($code);
        } catch (\Exception $e) {
            $this->pdo->exec("ROLLBACK TO SAVEPOINT onErrorRollback");
            throw $e;
        }
        $this->pdo->exec("RELEASE SAVEPOINT onErrorRollback");
        return $result;
    }
private function onErrorRollback(callable $code)
    {
        if (!$this->pdo->inTransaction()) {
            return call_user_func($code);
        }
        
        $this->pdo->exec("SAVEPOINT onErrorRollback");
        try {
            $result = call_user_func($code);
        } catch (\Exception $e) {
            $this->pdo->exec("ROLLBACK TO SAVEPOINT onErrorRollback");
            throw $e;
        }
        $this->pdo->exec("RELEASE SAVEPOINT onErrorRollback");
        return $result;
    }
private function onErrorRollback ( callable $ code ) { if ( ! $ this -> pdo -> inTransaction ( ) ) { return call_user_func ( $ code ) ; } $ this -> pdo -> exec ( "SAVEPOINT onErrorRollback" ) ; try { $ result = call_user_func ( $ code ) ; } catch ( \ Exception $ e ) { $ this -> pdo -> exec ( "ROLLBACK TO SAVEPOINT onErrorRollback" ) ; throw $ e ; } $ this -> pdo -> exec ( "RELEASE SAVEPOINT onErrorRollback" ) ; return $ result ; }
Rollback to an implicit savepoint.

@throws \PDOException
Rollback to an implicit savepoint .