| From: | Amit Langote <amitlangote09(at)gmail(dot)com> |
|---|---|
| To: | Junwang Zhao <zhjwpku(at)gmail(dot)com> |
| Cc: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Haibo Yan <tristan(dot)yim(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Tomas Vondra <tomas(at)vondra(dot)me> |
| Subject: | Re: Eliminating SPI / SQL from some RI triggers - take 3 |
| Date: | 2026-04-01 08:51:21 |
| Message-ID: | CA+HiwqFQ+ZA7hSOygv4uv_t75B3r0_gosjadetCsAEoaZwTu6g@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, Apr 1, 2026 at 12:54 AM Junwang Zhao <zhjwpku(at)gmail(dot)com> wrote:
> + if (riinfo->fpmeta == NULL)
> + {
> + /* Reload to ensure it's valid. */
> + riinfo = ri_LoadConstraintInfo(riinfo->constraint_id);
>
> I was thinking of wrapping the reload in a conditional check like
> `!riinfo->valid`, since `riinfo` can be valid even when `fpmeta == NULL`.
> However, `if (riinfo->fpmeta == NULL)` should rarely be true, so the
> unconditional reload is harmless, and the code is cleaner.
>
> +1 to the fix.
Thanks for checking.
I have just pushed a slightly modified version of that.
> > 0002 is the rebased batching patch.
>
> The change of RI_FastPathEntry from storing riinfo to fk_relid
> makes sense to me. I'll do another review on 0002 tomorrow.
Here's another version.
This time, I have another fixup patch (0001) to make FastPathMeta
self-contained by copying the FmgrInfo structs it needs out of
RI_CompareHashEntry rather than storing pointers into it. This avoids
any dependency on those cache entries remaining stable. I'll push
that once the just committed patch has seen enough BF animals.
0002 is rebased over that.
--
Thanks, Amit Langote
| Attachment | Content-Type | Size |
|---|---|---|
| v14-0001-Make-FastPathMeta-self-contained-by-copying-Fmgr.patch | application/octet-stream | 2.9 KB |
| v14-0002-Batch-FK-rows-and-use-SK_SEARCHARRAY-for-fast-pa.patch | application/octet-stream | 43.5 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Adam Lee | 2026-04-01 08:53:09 | [PATCH] Fix minRecoveryPoint not advanced past checkpoint in CreateRestartPoint |
| Previous Message | Amit Kapila | 2026-04-01 08:42:22 | Re: Adding REPACK [concurrently] |