Re: Fixup some appendStringInfo and appendPQExpBuffer calls - Mailing list pgsql-hackers

From David Rowley
Subject Re: Fixup some appendStringInfo and appendPQExpBuffer calls
Date
Msg-id CAApHDvq1D=ehZ8hey8Hz67N+_Zth0GHO5wiVCfv1YcGPMXJq0A@mail.gmail.com
Whole thread Raw
In response to Re: Fixup some appendStringInfo and appendPQExpBuffer calls  (David Rowley <dgrowleyml@gmail.com>)
Responses Re: Fixup some appendStringInfo and appendPQExpBuffer calls
List pgsql-hackers
On Thu, 3 Jun 2021 at 15:06, David Rowley <dgrowleyml@gmail.com> wrote:
>
> On Thu, 3 Jun 2021 at 15:01, Michael Paquier <michael@paquier.xyz> wrote:
> > As you already did
> > 110d817, perhaps you would prefer taking care of it?
>
> Ok. I'll take care of it.

I looked at this and couldn't help but notice how the following used
DatumGetPointer() instead of DatumGetCString():

appendStringInfo(&str, "%s ... %s",
                 DatumGetPointer(a),
                 DatumGetPointer(b));

However, looking a bit further it looks like instead of using
FunctionCall1 to call the type's output function, that the code should
use OutputFunctionCall and get a char * directly.

e.g the attached.

There are quite a few other places in that file that should be using
DatumGetCString() instead of DatumGetPointer().

Should we fix those too for PG14?

In the meantime, I'll push a version of this with just the StringInfo
fixes first. If we do anything else it can be done as a separate
commit.

David

Attachment

pgsql-hackers by date:

Previous
From: "osumi.takamichi@fujitsu.com"
Date:
Subject: RE: locking [user] catalog tables vs 2pc vs logical rep
Next
From: Amit Kapila
Date:
Subject: Re: Decoding of two-phase xacts missing from CREATE_REPLICATION_SLOT command