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

Christoph Berg <christoph.berg@credativ.de>

From: Christoph Berg <christoph.berg@credativ.de>
To: Michael Paquier <michael@paquier.xyz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, robertmhaas@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2022-06-15T09:13:56Z
Lists: pgsql-bugs
Re: Michael Paquier
> Well, done.  One thing that I find a bit surprising in all that is the 
> lack of consistency in the handling of the return code of psql when
> the last switch fails when not using ON_ERROR_STOP.

TBH ON_ERROR_STOP itself feels very brittle to me. Besides the fact
that `psql -vON_ERROR_STOP=1` looks very ugly, it's only one typo away
from breaking silently. `psql -vSTOP_ON_ERROR=1` (or -vON_EROR_STOP=1)
looks good as well, but doesn't work.

There should be a proper command line switch for it like
`psql --on-error-stop` since typoing that errors. (The short options
-eEsSq are already taken, so I'd propose psql -Q.)

Christoph
-- 
Senior Consultant, Tel.: +49 2166 9901 187
credativ GmbH, HRB Mönchengladbach 12080, USt-ID-Nummer: DE204566209
Trompeterallee 108, 41189 Mönchengladbach
Geschäftsführung: Dr. Michael Meskes, Geoff Richardson, Peter Lilley
Unser Umgang mit personenbezogenen Daten unterliegt folgenden
Bestimmungen: https://www.credativ.de/datenschutz



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