Re: pg_dump: Remove trivial usage of PQExpBuffer - Mailing list pgsql-hackers

From Corey Huinker
Subject Re: pg_dump: Remove trivial usage of PQExpBuffer
Date
Msg-id CADkLM=e=4VY8EERZ2KJR4qCZSHWa1ax4gekUeS32GacxJeokZA@mail.gmail.com
Whole thread Raw
In response to Re: pg_dump: Remove trivial usage of PQExpBuffer  (Daniel Gustafsson <daniel@yesql.se>)
List pgsql-hackers
On Tue, Dec 16, 2025 at 5:44 PM Daniel Gustafsson <daniel@yesql.se> wrote:
> On 16 Dec 2025, at 23:03, Corey Huinker <corey.huinker@gmail.com> wrote:

> One thing I have noticed is the usage of PQExpBuffer in situations where the query has no optional parts and no string interpolation.

-       res = ExecuteSqlQuery(fout, query->data, PGRES_TUPLES_OK);
+       res = ExecuteSqlQuery(fout,
+                                                 "SELECT DISTINCT attrelid FROM pg_attribute "
+                                                 "WHERE attacl IS NOT NULL",
+                                                 PGRES_TUPLES_OK);

I'm not sure I find it an improvement to put have to look after the query text
(which can be long) for the ExecStatusType.  Having it separated from the query
is more readable IMHO (I know we have a mix of both already, but I kind of
prefer passing in the buffer).

I considered replacing them all with the pattern where we assign the block text to a char *querystr, and in fact that's done in the patch in a couple of places where the query was an if/else constant. Is that more acceptable?

pgsql-hackers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: pg_dump: Remove trivial usage of PQExpBuffer
Next
From: Jacob Champion
Date:
Subject: Re: Custom oauth validator options