Re: pipe_read_line for reading arbitrary strings - Mailing list pgsql-hackers

From Daniel Gustafsson
Subject Re: pipe_read_line for reading arbitrary strings
Date
Msg-id 43F14E00-A001-4232-9BE8-A8C945B1B194@yesql.se
Whole thread Raw
In response to Re: pipe_read_line for reading arbitrary strings  (Daniel Gustafsson <daniel@yesql.se>)
Responses Re: pipe_read_line for reading arbitrary strings
List pgsql-hackers
> On 4 Jul 2023, at 14:50, Daniel Gustafsson <daniel@yesql.se> wrote:
>
>> On 4 Jul 2023, at 13:59, Heikki Linnakangas <hlinnaka@iki.fi> wrote:
>> On 08/03/2023 00:05, Daniel Gustafsson wrote:
>
>>> If we are going to continue using this for reading $stuff from pipes, maybe we
>>> should think about presenting a nicer API which removes that risk?  Returning
>>> an allocated buffer which contains all the output along the lines of the recent
>>> pg_get_line work seems a lot nicer and safer IMO.
>>
>> +1
>
> Thanks for review!
>
>>> /*
>>> * Execute a command in a pipe and read the first line from it. The returned
>>> * string is allocated, the caller is responsible for freeing.
>>> */
>>> char *
>>> pipe_read_line(char *cmd)
>>
>> I think it's worth being explicit here that it's palloc'd, or malloc'd in frontend programs, rather than just
"allocated".Like in pg_get_line. 
>
> Good point, I'll make that happen before committing this.

Fixed, along with commit message wordsmithing in the attached.  Unless objected
to I'll go ahead with this version.

--
Daniel Gustafsson


Attachment

pgsql-hackers by date:

Previous
From: Laurenz Albe
Date:
Subject: Regression in COPY FROM caused by 9f8377f7a2
Next
From: Dilip Kumar
Date:
Subject: Re: [PoC] pg_upgrade: allow to upgrade publisher node