Re: BUG #16867: savepoints vs. commit and chain
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Arthur Nascimento <tureba@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2021-02-16T04:49:33Z
Lists: pgsql-bugs
Attachments
- savepoint_and_chain.patch (text/plain) patch
On 2021/02/16 6:47, Arthur Nascimento wrote: > On Mon, 15 Feb 2021 at 17:54, PG Bug reporting form > <noreply@postgresql.org> wrote: >> On a trivial transaction, I might do: >> >> =# begin; >> *=# commit and chain; >> *=# -- In this point I'm inside a second transaction > > I forgot to mention that this case also works as expected: > > =# begin; > *=# savepoint foo; > *=# release foo; > *=# commit and chain; > *=# -- In this point I'm also inside a second transaction > > So it's only the unmatched savepoint/release transactions that are an issue. > > I also attached the change I did to psql locally. LGTM. > But since it didn't > solve the issue, it's mostly for curiosity's sake. 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. 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