| From: | Japin Li <japinli(at)hotmail(dot)com> |
|---|---|
| To: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Use SMgrRelation instead of SMgrRelationData * in pgaio_io_set_target_smgr() |
| Date: | 2026-03-16 02:31:23 |
| Message-ID: | SY7PR01MB10921042E8A0C0EAD8310D0EAB640A@SY7PR01MB10921.ausprd01.prod.outlook.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, 16 Mar 2026 at 08:50, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
>> On Mar 14, 2026, at 11:07, Japin Li <japinli(at)hotmail(dot)com> wrote:
>>
>>
>> Hi, Chao
>>
>> On Fri, 13 Mar 2026 at 15:29, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
>>>> On Mar 13, 2026, at 15:05, Japin Li <japinli(at)hotmail(dot)com> wrote:
>>>>
>>>>
>>>> Hi, hackers
>>>>
>>>> While reading smgr.h, I noticed an inconsistent type usage in
>>>> pgaio_io_set_target_smgr(). Currently the function is declared as:
>>>>
>>>> extern void pgaio_io_set_target_smgr(PgAioHandle *ioh,
>>>> SMgrRelationData *smgr,
>>>> ForkNumber forknum,
>>>> BlockNumber blocknum,
>>>> int nblocks,
>>>>
>>>> However, SMgrRelation is defined as "typedef SMgrRelationData * SMgrRelation;",
>>>> and all other functions in the smgr subsystem use SMgrRelation as the parameter
>>>> type.
>>>>
>>>> To keep the code consistent with the rest of the smgr API, this patch changes
>>>> the parameter from SMgrRelationData * to SMgrRelation in both the definition
>>>> and declaration.
>>>>
>>>> This is purely a style/consistency cleanup with no functional change.
>>>>
>>>> Thoughts? Is this change acceptable?
>>>>
>>>> --
>>>> Regards,
>>>> Japin Li
>>>> ChengDu WenWu Information Technology Co., Ltd.
>>>>
>>>> <v1-0001-Use-SMgrRelation-instead-of-SMgrRelationData-in-p.patch>
>>>
>>> pgaio_io_set_target_smgr doesn’t update smgr, so, instead of “SMgrRelation”, I think it’s better to change the type to "const SMgrRelationData *”.
>>
>> Thanks for the review! Makes sense — I've updated the patch to v2.
>>
>> --
>> Regards,
>> Japin Li
>> ChengDu WenWu Information Technology Co., Ltd.
>>
>> <v2-0001-Use-SMgrRelation-instead-of-SMgrRelationData-in-p.patch>
>
> “const SMgrRelation *” will not work as you expected, you have to do “const SMgrRelationData *”. We want to protect the data the pointer pointing to from changing but the pointer itself.
Thanks for pointing that out! I hadn't noticed the difference before.
Updated as you suggested.
>
> Best regards,
> --
> Chao Li (Evan)
> HighGo Software Co., Ltd.
> https://www.highgo.com/
--
Regards,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.
| Attachment | Content-Type | Size |
|---|---|---|
| v3-0001-Add-the-const-qualifier-to-the-SMgrRelationData-p.patch | text/x-patch | 1.5 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Yi Ding | 2026-03-16 02:39:21 | Re:Re: Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row |
| Previous Message | Chao Li | 2026-03-16 02:10:34 | Re: Add missing stats_reset column to pg_stat_database_conflicts view |