Re: BUG #15977: Inconsistent behavior in chained transactions

From: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>
To: emuser20140816(at)gmail(dot)com, PostgreSQL Bugs <pgsql-bugs(at)lists(dot)postgresql(dot)org>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #15977: Inconsistent behavior in chained transactions
Date: 2019-08-25 09:11:09
Message-ID: alpine.DEB.2.21.1908251101540.9896@lancre
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers


> The following bug has been logged on the website:
>
> Bug reference: 15977
> Logged by: mtlh kdvt
> Email address: emuser20140816(at)gmail(dot)com
> PostgreSQL version: 12beta3
> Operating system: Windows
> Description:
>
> When a ROLLBACK AND CHAIN command is executed in the implicit transaction
> block, a new transaction will be started:
> db=# ROLLBACK AND CHAIN;
> WARNING: there is no transaction in progress
> ROLLBACK
> db=# ROLLBACK AND CHAIN;
> ROLLBACK
>
> However, a COMMIT AND CHAIN command won't start a new transaction:
> db=# COMMIT AND CHAIN;
> WARNING: there is no transaction in progress
> COMMIT
> db=# COMMIT AND CHAIN;
> WARNING: there is no transaction in progress
> COMMIT

Thanks for the report.

Indeed, I confirm, and I should have caught this one while reviewing…

Doc says:

"If AND CHAIN is specified, a new transaction is immediately started with
the same transaction characteristics as the just finished one. Otherwise,
no new transaction is started."

If there is no transaction in progress, the spec is undefined. Logically,
ITSM that there should be no tx reset if none was in progress, so ROLLBACK
has the wrong behavior?

A quick glance at the code did not yield any obvious culprit, but maybe
I'm not looking at the right piece of code.

Doc could happend ", if any" to be clearer.

--
Fabien.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2019-08-25 17:04:45 Re: PostgreSQL12 crash bug report
Previous Message PG Bug reporting form 2019-08-25 06:11:05 BUG #15977: Inconsistent behavior in chained transactions

Browse pgsql-hackers by date

  From Date Subject
Next Message Sergei Kornilov 2019-08-25 09:42:24 Re: Change ereport level for QueuePartitionConstraintValidation
Previous Message Julien Rouhaud 2019-08-25 09:01:56 Re: pg_upgrade: Error out on too many command-line arguments