Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error - Mailing list pgsql-bugs

From David G. Johnston
Subject Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error
Date
Msg-id CAKFQuwaQvHekKZo6y4ajmRfEjwkPvt_8YDWqVJnfL4py4txFqg@mail.gmail.com
Whole thread Raw
In response to Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error  (Michael Paquier <michael@paquier.xyz>)
List pgsql-bugs
On Mon, Jun 6, 2022 at 7:30 AM Robert Haas <robertmhaas@gmail.com> wrote:
On Mon, Jun 6, 2022 at 2:11 AM Kyotaro Horiguchi
<horikyota.ntt@gmail.com> wrote:
> > >> It causes psql to issue a BEGIN command before the first such option
> > >> and a COMMIT command after the last one, thereby wrapping all the
> > >> commands into a single transaction.
> > >> If any of the commands fails, a ROLLBACK command is sent instead.
> > >> This ensures that either all the commands complete successfully, or
> > >> no changes are applied.
> >
> > Looks fine to me, so applied down to 10.
>
> (Yes!)

I am slightly concerned that this behavior change could break
somebody's stuff when they upgrade to the next minor release. It does
not seem impossible that someone could be knowingly relying on the old
behavior.


We've done worse when dealing with obvious bugs contrary to the documentation and that prevent unsafe behavior.  People relying on the defined behavior to safely fail when encountering unexpected failure producing situations that hopefully never happen get the priority over poorly written code that somehow relies on errors not respecting the single transaction promise.

David J.

pgsql-bugs by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: BUG #17511: Inconsistent permissions on some information_schema tables
Next
From: Tom Lane
Date:
Subject: Re: BUG #17511: Inconsistent permissions on some information_schema tables