Re: Use stack-allocated StringInfoData

Mats Kindahl <mats.kindahl@gmail.com>

From: Mats Kindahl <mats.kindahl@gmail.com>
To: David Rowley <dgrowleyml@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-11-06T07:37:58Z
Lists: pgsql-hackers
On 11/5/25 12:01, David Rowley wrote:
> On Tue, 4 Nov 2025 at 21:25, Mats Kindahl<mats.kindahl@gmail.com> wrote:
>> Here is an updated patch that I checked manually for unnecessary
>> whitespace changes.
> Thanks for updating the patch.
>
>> There is one such case affected by this patch, and there the buffer
>> pointer is copied to another variable and then returned. This can
>> probably be improved by just returning the buffer pointer directly
>> without intermediate assignment to a variable, but I avoided this to
>> make reviewing the code easier. It is easy to add this change either now
>> or later and should not affect the generated code except at very low
>> optimization levels.
> Yeah, I think you must mean in build_backup_content(). I noticed that too.


Yes, that is the one I meant.

>> I also added fixes manually inside check_publications_origin_tables,
>> check_publications, and fetch_relation_list. In
>> check_publication_origin_table three StringInfo was dynamically
>> allocated but not released after. In check_publications and
>> fetch_relation_list there were extra cases of using a dynamically
>> allocated StringInfo that was not necessary.
> It's not your fault, but check_publications_origin_tables() looks like
> a mess. It seems like excessive use of additional code just to avoid
> two separate ereport() calls. Might be worth a follow-up patch to
> clean that up.


Yeah, I have noted that too, but I wanted to avoid making reviews more 
complicated than necessary. I thought it might be better to do as a 
separate effort.

I'll take a look at it.


> The patch looks good to me. The only thing I'd adjust is to get rid of
> the "data" variable from build_backup_content(), which I think you
> mentioned above. I can take care of that one.

Thanks David.

Best wishes,
Mats Kindahl