Re: Error on failed COMMIT

From: Vik Fearing <vik(at)postgresfriends(dot)org>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Dave Cramer <davecramer(at)postgres(dot)rocks>
Cc: Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com>, Tony Locke <tlocke(at)tlocke(dot)org(dot)uk>, Shay Rojansky <roji(at)roji(dot)org>, Bruce Momjian <bruce(at)momjian(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com>, "Haumacher, Bernhard" <haui(at)haumacher(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Error on failed COMMIT
Date: 2021-01-26 17:37:47
Message-ID: fe797e87-405f-166c-f1ea-3e6ea494d5ed@postgresfriends.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 1/26/21 6:34 PM, Vik Fearing wrote:
> On 1/26/21 6:20 PM, Laurenz Albe wrote:
>> After thinking some more about it, I think that COMMIT AND CHAIN would have
>> to change behavior: if COMMIT throws an error (because the transaction was
>> aborted), no new transaction should be started. Everything else seems fishy:
>> the statement fails, but still starts a new transaction?
>
> The standard is not clear (to me) on what exactly should happen here.
> It says that if a <commit statement> is not successful then a <rollback
> statement> is implied, but I don't see it say anything about whether the
> AND CHAIN should be propagated too.
>
> My vote is that COMMIT AND CHAIN should become ROLLBACK AND NO CHAIN.

Hmm. On the other hand, that means if the client isn't paying
attention, it'll start executing commands outside of a transaction which
will autocommit. It might be better for a new transaction to be chained
and hopefully also fail because previous bits are missing.

I will hastily change my vote to "unsure".
--
Vik Fearing

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Laurenz Albe 2021-01-26 17:46:10 Re: Error on failed COMMIT
Previous Message Vik Fearing 2021-01-26 17:34:34 Re: Error on failed COMMIT