Re: BUG #16867: savepoints vs. commit and chain

Vik Fearing <vik@postgresfriends.org>

From: Vik Fearing <vik@postgresfriends.org>
To: Fujii Masao <masao.fujii@oss.nttdata.com>, Arthur Nascimento <tureba@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2021-02-18T14:10:32Z
Lists: pgsql-bugs
On 2/18/21 2:58 PM, Fujii Masao wrote:
> 
> 
> On 2021/02/17 3:03, Arthur Nascimento wrote:
>> Hi, Fujii-san,
>>
>> On Tue, 16 Feb 2021 at 01:49, Fujii Masao
>> <masao.fujii@oss.nttdata.com> wrote:
>>> In the server side, ISTM that CommitTransactionCommand() needs to handle
>>> the COMMIT AND CHAIN in TBLOCK_SUBCOMMIT case, but it forgot to do that.
>>> Patch attached. I'm not sure if this is a bug or an intentional
>>> behavior.
>>> Probably we need to look at the past discussion about AND CHAIN feature.
>>
>> I can confirm that your patch solved it for me. Thanks for looking
>> into it.
> 
> Thanks for testing the patch!
> 
> As far as I read the past discussion about chain transaction,
> I could not find any mention that current behavior that you reported
> is intentional.
> 
> Barring any objection, I will commit the patch that you wrote
> for psql and the patch I wrote.

No objection from me.  According to the standard, a COMMIT should
destroy all savepoints and terminate the transaction, even if AND CHAIN
is specified.
-- 
Vik Fearing



Commits

  1. Fix psql's ON_ERROR_ROLLBACK so that it handles COMMIT AND CHAIN.

  2. Fix bug in COMMIT AND CHAIN command.