psql: Fix incorrect status code returned by \getresults
authorMichael Paquier <[email protected]>
Sat, 19 Apr 2025 23:15:39 +0000 (08:15 +0900)
committerMichael Paquier <[email protected]>
Sat, 19 Apr 2025 23:15:39 +0000 (08:15 +0900)
When an invalid number of results is requested for \getresults, the
status code returned by exec_command_getresults() was PSQL_CMD_SKIP_LINE
and not PSQL_CMD_ERROR.

This led to incorrect behaviors, with ON_ERROR_STOP for example.

Reported-by: Noah Misch <[email protected]>
Discussion: https://postgr.es/m/20250415213450[email protected]

src/bin/psql/command.c

index a8a13c2b88bc7dc154d137a83ecaa638179d4e52..81a5ba844ba0f901ef3863235fb94e84dc97852a 100644 (file)
@@ -1922,7 +1922,7 @@ exec_command_getresults(PsqlScanState scan_state, bool active_branch)
            if (num_results < 0)
            {
                pg_log_error("\\getresults: invalid number of requested results");
-               return PSQL_CMD_SKIP_LINE;
+               return PSQL_CMD_ERROR;
            }
            pset.requested_results = num_results;
        }