Re: enable/disable broken for statement triggers on partitioned tables

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Amit Langote <amitlangote09(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Simon Riggs <simon(dot)riggs(at)enterprisedb(dot)com>
Subject: Re: enable/disable broken for statement triggers on partitioned tables
Date: 2022-08-03 18:01:48
Message-ID: 20220803180148.puceolulqaf6hlkr@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2022-Aug-02, Amit Langote wrote:

> Regarding the patch, I agree that storing the recurse flag rather than
> overwriting subtype might be better.
>
> + bool execTimeRecursion; /* set by ATPrepCmd if ATExecCmd must
> + * recurse to children */
>
> Might it be better to call this field simply 'recurse'? I think it's
> clear from the context and the comment above the flag is to be used
> during execution.

Yeah, I guess we can do that and also reword the overall ALTER TABLE
comment about recursion. That's in the attached first patch, which is
intended as backpatchable.

The second patch is just to show how we'd rewrite AT_AddColumn to no
longer use the Recurse separate enum value but instead use the ->recurse
flag. This is pretty straightforward and it's a clear net reduction of
code. We can't backpatch this kind of thing of course, both because of
the ABI break (easily fixed) and because potential destabilization
(scary). We can do similar tihngs for the other AT enum values for
recursion. This isn't complete since there are a few other values in
that enum that we should process in this way too; I don't intend it to
push it just yet.

--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"XML!" Exclaimed C++. "What are you doing here? You're not a programming
language."
"Tell that to the people who use me," said XML.
https://burningbird.net/the-parable-of-the-languages/

Attachment Content-Type Size
triggers-recurse-2.patch text/x-diff 12.7 KB
redo-add-column.patch text/x-diff 3.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jacob Champion 2022-08-03 18:03:58 Clarifying Commitfest policies
Previous Message Andres Freund 2022-08-03 17:57:02 Re: Unstable tests for recovery conflict handling