From 2c0cf278b8e1c239fe90dcf2320f0c8d5c28646d Mon Sep 17 00:00:00 2001 From: Corey Huinker Date: Wed, 19 Nov 2025 19:36:59 -0500 Subject: [PATCH v3 4/5] switch prepare from conn to serverVersion --- src/bin/scripts/vacuuming.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/bin/scripts/vacuuming.c b/src/bin/scripts/vacuuming.c index f52af273d7e..14d843bed10 100644 --- a/src/bin/scripts/vacuuming.c +++ b/src/bin/scripts/vacuuming.c @@ -41,7 +41,7 @@ static SimpleStringList *retrieve_objects(PGconn *conn, SimpleStringList *objects, bool echo); static void free_retrieved_objects(SimpleStringList *list); -static void prepare_vacuum_command(PGconn *conn, PQExpBuffer sql, +static void prepare_vacuum_command(int serverVersion, PQExpBuffer sql, vacuumingOptions *vacopts, const char *table); static void run_vacuum_command(ParallelSlot *free_slot, const char *sql, bool echo, bool dry_run, const char *table); @@ -178,6 +178,7 @@ vacuum_one_database(ConnParams *cparams, SimpleStringList *retobjs = NULL; bool free_retobjs = false; int ret = EXIT_SUCCESS; + int serverVersion; const char *stage_commands[] = { "SET default_statistics_target=1; SET vacuum_cost_delay=0;", "SET default_statistics_target=10; RESET vacuum_cost_delay;", @@ -351,6 +352,7 @@ vacuum_one_database(ConnParams *cparams, * for the first slot. If not in parallel mode, the first slot in the * array contains the connection. */ + serverVersion = PQserverVersion(conn); sa = ParallelSlotsSetup(concurrentCons, cparams, progname, echo, initcmd); ParallelSlotsAdoptConn(sa, conn); @@ -375,7 +377,7 @@ vacuum_one_database(ConnParams *cparams, goto finish; } - prepare_vacuum_command(free_slot->connection, &sql, + prepare_vacuum_command(serverVersion, &sql, vacopts, tabname); run_vacuum_command(free_slot, sql.data, @@ -823,10 +825,9 @@ free_retrieved_objects(SimpleStringList *list) * depends on the server version involved and it is semicolon-terminated. */ static void -prepare_vacuum_command(PGconn *conn, PQExpBuffer sql, +prepare_vacuum_command(int serverVersion, PQExpBuffer sql, vacuumingOptions *vacopts, const char *table) { - int serverVersion = PQserverVersion(conn); const char *paren = " ("; const char *comma = ", "; const char *sep = paren; -- 2.51.1