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

Arthur Nascimento <tureba@gmail.com>

From: Arthur Nascimento <tureba@gmail.com>
To: Arthur Filipe Martins Nascimento <tureba@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2021-02-15T21:47:29Z
Lists: pgsql-bugs

Attachments

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. But since it didn't
solve the issue, it's mostly for curiosity's sake.

Thanks,
Tureba - Arthur Nascimento

Commits

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

  2. Fix bug in COMMIT AND CHAIN command.