Re: Use allocation macros in the logical replication code

Chao Li <li.evan.chao@gmail.com>

From: Chao Li <li.evan.chao@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-04T01:39:07Z
Lists: pgsql-hackers

> On Mar 4, 2026, at 04:52, Masahiko Sawada <sawada.mshk@gmail.com> wrote:
> 
> On Tue, Feb 3, 2026 at 9:40 PM Peter Smith <smithpb2250@gmail.com> wrote:
>> 
>> On Wed, Feb 4, 2026 at 1:47 PM Hayato Kuroda (Fujitsu)
>> <kuroda.hayato@fujitsu.com> wrote:
>>> 
>>> Dear Peter,
>>> 
>>> Thanks for the patch. I have one comment for the patch:
>>> ```
>>> @@ -836,8 +836,9 @@ SnapBuildAddCommittedTxn(SnapBuild *builder, TransactionId xid)
>>>                elog(DEBUG1, "increasing space for committed transactions to %u",
>>>                         (uint32) builder->committed.xcnt_space);
>>> 
>>> -               builder->committed.xip = repalloc(builder->committed.xip,
>>> -                                                                                 builder->committed.xcnt_space * sizeof(TransactionId));
>>> +               builder->committed.xip = repalloc_array(builder->committed.xip,
>>> +                                                       TransactionId,
>>> +                                                       builder->committed.xcnt_space);
>>> ```
>>> 
>>> Number of tabs seems not to enough here. Other than that LGTM.
>>> 
>> 
>> Thanks for the feedback. Now I have run pg_indent on all the patched files.
>> 
>> PSA v2
> 
> Thank you for the patch!
> 
> The patch looks good to me. I'll push it, barring objections.
> 

Hi Masahiko-san, no objection at all. When you have a chance, could you also take a look at [1]? It is a similar patch that fixes an incorrect usage of palloc_object() by switching it to palloc_array(), and also replaces a few repalloc() calls with repalloc_array().

[1] https://postgr.es/m/CAEoWx2m1Vo97Jg9=K7JAZ0xdkg5D=GkgOxZR1=EW7mUfy008fw@mail.gmail.com

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/







Commits

  1. Use palloc_object() and palloc_array() in more areas of the logical replication.