Tom Lane wisely wrote:
> While we clearly want this functionality, I tend to agree with Barry
> that COMMIT IGNORE ABORT (and the other variants that have
> been floated)
> is a horrid, confusing name for it. I would suggest using
> END with some
> modifier, instead. Perhaps
>
> END [ WORK | TRANSACTION ] [ IGNORE ERRORS ]
>
> END doesn't so directly imply that you are trying to commit a failed
> transaction.
>
Would it make more sense to specify at the time the optional subtransaction
is committed that it is not critical to the completion of the outer
transaction?
BEGIN; BEGIN; DROP TABLE foo; COMMIT NON_CRITICAL; CREATE TABLE foo (i int);
COMMIT;
I don't 'get' the nested transaction code, so I don't know how horrible this
would be to write. It just seemed more useful, because you could specify
which sub-transactions are show stoppers, and which ones aren't.
Or if I'm completely off base, please forgive my intrusion.
Paul