diff --git a/contrib/vacuumlo/vacuumlo.c b/contrib/vacuumlo/vacuumlo.c index 10daa85445c24ff1a90e05eb8a01420a8e037a68..324c8dc07331a0f769367a75421541bada452b8f 100644 --- a/contrib/vacuumlo/vacuumlo.c +++ b/contrib/vacuumlo/vacuumlo.c @@ -302,7 +302,7 @@ vacuumlo(const char *database, const struct _param * param) deleted = 0; - while (1) + do { res = PQexec(conn, buf); if (PQresultStatus(res) != PGRES_TUPLES_OK) @@ -340,8 +340,7 @@ vacuumlo(const char *database, const struct _param * param) if (PQtransactionStatus(conn) == PQTRANS_INERROR) { success = false; - PQclear(res); - break; + break; /* out of inner for-loop */ } } else @@ -379,7 +378,7 @@ vacuumlo(const char *database, const struct _param * param) } PQclear(res); - } + } while (success); /* * That's all folks!