Re: BUG #16867: savepoints vs. commit and chain
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Vik Fearing <vik@postgresfriends.org>,
Arthur Nascimento <tureba@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2021-02-19T04:02:42Z
Lists: pgsql-bugs
On 2021/02/18 23:10, Vik Fearing wrote: > 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. You imply that the standard says that COMMIT AND CHAIN should just terminate the transaction if there are savepoints defined, i.e., should not start new transaction? Since I can (maybe wrongly) interpret your comment like that, please let me confirm what the standard says just in case. I was thinking that COMMIT AND CHAIN should destroy all the savepoints, terminate the transaction and start new transaction with the same transaction characteristics immediately. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
Commits
-
Fix psql's ON_ERROR_ROLLBACK so that it handles COMMIT AND CHAIN.
- 67b3ee292935 12.7 landed
- be7485a1e311 13.3 landed
- fe06819f105c 14.0 landed
-
Fix bug in COMMIT AND CHAIN command.
- fadcc4e81bd9 12.7 landed
- 422012c98f8d 13.3 landed
- 8a55cb5ba965 14.0 landed