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

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Christoph Berg <christoph.berg@credativ.de>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-06-06T14:30:07Z
Lists: pgsql-bugs
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.

--
Robert Haas
EDB: http://www.enterprisedb.com



Commits

  1. Tweak behavior of psql --single-transaction depending on ON_ERROR_STOP

  2. Doc: remove a04ccf6df from release notes, now that it's reverted.

  3. Revert "Fix psql's single transaction mode on client-side errors with -c/-f switches".

  4. Fix psql's single transaction mode on client-side errors with -c/-f switches