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

This reverts commits a04ccf6df et al. in the back branches only.
There was some disagreement already over whether to back-patch
157f8739a, on the grounds that it is the sort of behavioral
change that we don't like to back-patch.  Furthermore, it now
looks like the logic needs some more work, which we don't have
time for before the upcoming 14.4 release.  Revert for now, and
perhaps reconsider later.

Discussion: https://postgr.es/m/17504-76b68018e130415e@postgresql.org
This commit is contained in:
Tom Lane 2022-06-10 16:34:25 -04:00
parent 03fa84ac7c
commit f25b5519c9
2 changed files with 3 additions and 7 deletions

View File

@ -591,10 +591,8 @@ EOF
<application>psql</application> to issue a <command>BEGIN</command> command <application>psql</application> to issue a <command>BEGIN</command> command
before the first such option and a <command>COMMIT</command> command after before the first such option and a <command>COMMIT</command> command after
the last one, thereby wrapping all the commands into a single the last one, thereby wrapping all the commands into a single
transaction. If any of the commands fails, a transaction. This ensures that either all the commands complete
<command>ROLLBACK</command> command is sent instead. This ensures that successfully, or no changes are applied.
either all the commands complete successfully, or no changes are
applied.
</para> </para>
<para> <para>

View File

@ -411,9 +411,7 @@ main(int argc, char *argv[])
if (options.single_txn) if (options.single_txn)
{ {
res = PSQLexec((successResult == EXIT_SUCCESS) ? if ((res = PSQLexec("COMMIT")) == NULL)
"COMMIT" : "ROLLBACK");
if (res == NULL)
{ {
if (pset.on_error_stop) if (pset.on_error_stop)
{ {