Re: FOR EACH ROW triggers, on partitioend tables, with indexes?

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org>, Peter Smith <smithpb2250(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Subject: Re: FOR EACH ROW triggers, on partitioend tables, with indexes?
Date: 2022-09-01 05:31:46
Message-ID: 20220901053146.GI31833@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Sep 01, 2022 at 04:19:37PM +1200, David Rowley wrote:
> On Sat, 20 Aug 2022 at 09:18, Justin Pryzby <pryzby(at)telsasoft(dot)com> wrote:
> > Is it somwhow possible to call CreateTrigger() to create a FOR EACH ROW
> > trigger, with an index, and not internally ?
>
> I've been looking over this and I very much agree that the code looks
> very broken. As for whether this is dead code or not, I've been
> looking at that too...
>
> At trigger.c:1147 we have: if (partition_recurse). partition_recurse
> can only ever be true if isInternal == false per trigger.c:367's
> "partition_recurse = !isInternal && stmt->row &&". isInternal is a
> parameter to the function. Also, the code in question only triggers
> when the indexOid parameter is a valid oid. So it should just be a
> matter of looking for usages of CreateTriggerFiringOn() which pass
> isInternal as false and pass a valid indexOid.
>
> There seems to be no direct calls doing this, but we do also call this
> function via CreateTrigger() and I can see only 1 call to
> CreateTrigger() that passes isInternal as false, but that explicitly
> passes indexOid as InvalidOid, so this code looks very much dead to
> me.
>
> Alvaro, any objections to just ripping this out? aka, the attached.

It's possible that extensions or 3rd party code or forks use this, no ?
In that case, it might be "not dead" ..

> + * that ever changes then we'll need to quite code here to find the

quite? write? quire? acquire? quine?

--
Justin

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2022-09-01 05:35:23 Re: pg15b3: recovery fails with wal prefetch enabled
Previous Message Dmitry Markman 2022-09-01 05:31:27 Re: question about access custom enum type from C