From: Michael Paquier Date: Thu, 9 May 2019 01:29:29 +0000 (+0900) Subject: Fix error status of vacuumdb when multiple jobs are used X-Git-Tag: REL_11_4~64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=25f12acd53f603a581d8bc89920037a811f12f82;p=thirdparty%2Fpostgresql.git Fix error status of vacuumdb when multiple jobs are used When running a batch of VACUUM or ANALYZE commands on a given database, there were cases where it is possible to have vacuumdb not report an error where it actually should, leading to incorrect status results. Author: Julien Rouhaud Reviewed-by: Amit Kapila, Michael Paquier Discussion: https://postgr.es/m/CAOBaU_ZuTwz7CtqLYJ1Ouuh272bTQPLN8b1bAPk0bCBm4PDMTQ@mail.gmail.com Backpatch-through: 9.5 --- diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index bcea9e556dc..1034a1f3c48 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -524,7 +524,10 @@ vacuum_one_database(const char *dbname, vacuumingOptions *vacopts, for (j = 0; j < concurrentCons; j++) { if (!GetQueryResult((slots + j)->connection, progname)) + { + failed = true; goto finish; + } } }