Re: more psprintf() use

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: more psprintf() use
Дата
Msg-id 20140102085334.GB2683@awork2.anarazel.de
обсуждение исходный текст
Ответ на Re: more psprintf() use  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Ответы Re: more psprintf() use  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 2014-01-02 09:49:48 +0200, Heikki Linnakangas wrote:
> On 01/02/2014 05:14 AM, Peter Eisentraut wrote:
> >diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c
> >index 772a5ca..8331a56 100644
> >--- a/contrib/hstore/hstore_io.c
> >+++ b/contrib/hstore/hstore_io.c
> >@@ -1114,11 +1114,7 @@
> >      HEntry       *entries = ARRPTR(in);
> >
> >      if (count == 0)
> >-    {
> >-        out = palloc(1);
> >-        *out = '\0';
> >-        PG_RETURN_CSTRING(out);
> >-    }
> >+        PG_RETURN_CSTRING("");
> >
> >      buflen = 0;
> 
> Is it legal to return a constant with PG_RETURN_CSTRING? Grepping around, I
> don't see that being done anywhere else, but there are places that do
> PG_RETURN_CSTRING(pstrdup(<constant>))...

I don't see why it wouldn't be legal - constant strings have static
storage duration, i.e. the program lifetime. And I can see nothing that
would allow pfree()ing the return value of cstring returning functions
in the general case.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: preserving forensic information when we freeze
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Patch: show relation and tuple infos of a lock to acquire