Re: pstrdup(TextDatumGetCString(foo)) ? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: pstrdup(TextDatumGetCString(foo)) ?
Date
Msg-id 4779.1457582844@sss.pgh.pa.us
Whole thread Raw
In response to pstrdup(TextDatumGetCString(foo)) ?  (Chapman Flack <chap@anastigmatix.net>)
List pgsql-hackers
Chapman Flack <chap@anastigmatix.net> writes:
> I am encountering, here and there, an idiom like
>   pstrdup(TextDatumGetCString(foo))

> or a pre-8.4 version,

>   pstrdup(DatumGetCString(DirectFunctionCall1(textout, foo)))

> It's leading me to question my sanity because it appears to me
> that both text_to_cstring (underlying TextDatumGetCString) and
> textout already return a string palloc'd in the current context,
> and that pstrdup (without any change of context) can't be accomplishing
> anything. I'm probably missing something crucial, but what?

No, you're right: pstrdup in that context is a useless waste of cycles and
memory.

A quick grep in the current PG sources shows me only two occurrences of
the former, both in the same function and both doubtless introduced by
the same misinformed author.  I find no occurrences of the latter.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Chapman Flack
Date:
Subject: pstrdup(TextDatumGetCString(foo)) ?
Next
From: Ashutosh Bapat
Date:
Subject: Re: Pushing down sorted joins