]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Revert "Fix psql's single transaction mode on client-side errors with -c/-f switches".
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 10 Jun 2022 20:34:25 +0000 (16:34 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 10 Jun 2022 20:34:25 +0000 (16:34 -0400)
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

doc/src/sgml/ref/psql-ref.sgml
src/bin/psql/startup.c

index fc0e3e4d8ae129aeb24a77a853a2348688620589..1802330b703d72ab66dc63c2b223ac7d167e46d2 100644 (file)
@@ -591,10 +591,8 @@ EOF
         <application>psql</application> to issue a <command>BEGIN</command> command
         before the first such option and a <command>COMMIT</command> command after
         the last one, thereby wrapping all the commands into a single
-        transaction. If any of the commands fails, a
-        <command>ROLLBACK</command> command is sent instead. This ensures that
-        either all the commands complete successfully, or no changes are
-        applied.
+        transaction.  This ensures that either all the commands complete
+        successfully, or no changes are applied.
        </para>
 
        <para>
index ce180e1cd7b95241578da4373e23e842a6e20f21..392b96eb862da4cfd6c71bb5b475e986213c2a14 100644 (file)
@@ -412,9 +412,7 @@ main(int argc, char *argv[])
 
                if (options.single_txn)
                {
-                       res = PSQLexec((successResult == EXIT_SUCCESS) ?
-                                                  "COMMIT" : "ROLLBACK");
-                       if (res == NULL)
+                       if ((res = PSQLexec("COMMIT")) == NULL)
                        {
                                if (pset.on_error_stop)
                                {