Re: table-write trigger can bypass ATPrepChangePersistence - Mailing list pgsql-hackers

From Ajin Cherian
Subject Re: table-write trigger can bypass ATPrepChangePersistence
Date
Msg-id CAFPTHDbNRm5XWAsmMEUxX=BEa4bCrg0oeFzHwkTwb_JPrZC2Wg@mail.gmail.com
Whole thread
In response to Re: table-write trigger can bypass ATPrepChangePersistence  (Ajin Cherian <itsajin@gmail.com>)
Responses Re: table-write trigger can bypass ATPrepChangePersistence
List pgsql-hackers
On Fri, Sep 18, 2026 at 4:43 PM Ajin Cherian <itsajin@gmail.com> wrote:
>
> Now for a possible fix. Your patch puts the recheck right after the
> event trigger fires. That is inside the per-table loop in
> ATRewriteTables(). The DEFAULT expression runs later in that same
> loop, during the actual rewrite of that table in ATRewriteTable(). So
> the recheck happens too early for this case.
>
> A better place is after the whole loop finishes. This means every
> table has already been rewritten. All DEFAULT and CHECK functions have
> already run. Only then do we check persistence again, for every table
> in the list.
>

Here's a patch with this change incorporated.

regards,
Ajin Cherian
Fujitsu Australia

Attachment

pgsql-hackers by date:

Previous
From: Nazir Bilal Yavuz
Date:
Subject: aio: worker: Free SMGR objects when idle
Next
From: "Hayato Kuroda (Fujitsu)"
Date:
Subject: RE: table-write trigger can bypass ATPrepChangePersistence