| From: | Tomas Vondra <tomas(at)vondra(dot)me> |
|---|---|
| To: | Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Tender Wang <tndrwang(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Richard Guo <guofenglinux(at)gmail(dot)com> |
| Subject: | Re: A gap in preventing bogus parameterizations in a798660ebe3 |
| Date: | 2026-11-02 16:19:45 |
| Message-ID: | e0a34fc3-30cc-43fc-91e4-c8ca57d140ab@vondra.me |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 11/2/26 12:01, Álvaro Herrera wrote:
> On 2026-Nov-02, Tender Wang wrote:
>
>> As you noted, adding a field to JoinPathExtraData raises an ABI
>> concern, so that version of the fix might need to be master-only.
>
> But nothing allocates JoinPathExtraData anywhere except
> add_paths_to_joinrel in its stack; everybody else just receives a
> pointer to that. Even the hooks for it receive it as a pointer. I
> think the ABI concern is overblown in this case; just make sure to add
> the new field at the end.
>
You're probably right. I was concerned some extension might be me
allocating the struct (as it's in a public header), but I did check a
couple extensions that might be doing that (like pg_hint_plan) and I
haven't found such cases.
So putting the new field at the end should be fine.
regards
--
Tomas Vondra
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jingtang Zhang | 2026-11-02 16:40:15 | [PATCH] Periodically refresh database frozen IDs during autovacuum |
| Previous Message | Nathan Bossart | 2026-11-02 16:18:21 | Re: [PATCH] Corruption Issue: Fix missing tts_tid in ExecForceStoreHeapTuple |