> > That is what transactions are for. If any errors occur, then the
> > transacction is aborted. You are supposed to use
> > transactions when you want either everything to occur
> > (the whole transaction), or nothing, if an error occurs.
>
> Yes. There are certainly times when a transaction needs to be
> ABORTed. However, there are many reasons why the database should not
> abort a transaction if it does not need to. There is obviously no
> reason why a transaction needs to be aborted for syntax errors. There
> is obviously no reason why a transaction needs to be aborted for say,
> trying to insert a duplicate primary key. The -insert- can
> fail, report it as such, and the application can determine if a rollback
> is nessasary. If you don't believe me, here's two fully SQL-92
> compliant databases, Oracle and interbase, which do not exhibit this
behavior:
Oracle & Interbase have savepoints. Hopefully PG will also have them in 7.2
Vadim