Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error
David G. Johnston <david.g.johnston@gmail.com>
From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
Michael Paquier <michael@paquier.xyz>, Christoph Berg <christoph.berg@credativ.de>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-06-06T20:05:46Z
Lists: 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.
Commits
-
Tweak behavior of psql --single-transaction depending on ON_ERROR_STOP
- a3ff08e0b08d 15.0 landed
-
Doc: remove a04ccf6df from release notes, now that it's reverted.
- 18f66a1a91bd 14.4 landed
-
Revert "Fix psql's single transaction mode on client-side errors with -c/-f switches".
- f25b5519c99a 14.4 landed
- db713aa7fcbe 10.22 landed
- aaa88d3828c3 11.17 landed
- 3f7f06738529 13.8 landed
- 030da9b6fd52 12.12 landed
-
Fix psql's single transaction mode on client-side errors with -c/-f switches
- c3df4d53ca4a 10.22 landed
- b0bd9327dd74 11.17 landed
- 0a1e4f0ca788 12.12 landed
- b364cfdfaf6b 13.8 landed
- a04ccf6dfb4a 14.4 landed
- 157f8739ad18 15.0 landed