Document transition table triggers are not allowed on views/foreign tables

Started by Etsuro Fujita10 months ago8 messageshackers
Jump to latest
#1Etsuro Fujita
fujita.etsuro@lab.ntt.co.jp

Hi,

Another thing I noticed about transition tables is that while we
prohibit transition tables on views/foreign tables, there is no
description about that in the user-facing documentation. So I would
like to propose to do $SUBJECT in create_trigger.sgml. Attached is a
patch for that.

Best regards,
Etsuro Fujita

Attachments:

0002-Update-documentation-about-transition-tables.patchapplication/octet-stream; name=0002-Update-documentation-about-transition-tables.patchDownload+2-1
#2Etsuro Fujita
fujita.etsuro@lab.ntt.co.jp
In reply to: Etsuro Fujita (#1)
Re: Document transition table triggers are not allowed on views/foreign tables

On Tue, Jul 15, 2025 at 4:55 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

Another thing I noticed about transition tables is that while we
prohibit transition tables on views/foreign tables, there is no
description about that in the user-facing documentation. So I would
like to propose to do $SUBJECT in create_trigger.sgml. Attached is a
patch for that.

If there are no objections, I will push this and back-patch it to all
supported versions.

Best regards,
Etsuro Fujita

#3Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: Etsuro Fujita (#2)
Re: Document transition table triggers are not allowed on views/foreign tables

On Wed, Jul 23, 2025 at 4:16 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

On Tue, Jul 15, 2025 at 4:55 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

Another thing I noticed about transition tables is that while we
prohibit transition tables on views/foreign tables, there is no
description about that in the user-facing documentation. So I would
like to propose to do $SUBJECT in create_trigger.sgml. Attached is a
patch for that.

I think the restriction should be specified in a manner similar to how
restriction on CONSTRAINT option for foreign tables is specified i.e.
in " This option is only allowed for an AFTER trigger that is not a
constraint trigger; also, if the trigger is an UPDATE trigger, it must
not specify a column_name list.". But that sentence is already a bit
complex because of ; also, ... part. How about splitting the sentence
into two and mentioning restriction like below?

"This option is only allowed for an AFTER trigger on tables other than
views or foreign tables. The trigger should not be a constraint
trigger. If the trigger is an UPDATE trigger, it must not specify a
column_name list when using this option."

--
Best Wishes,
Ashutosh Bapat

#4Etsuro Fujita
fujita.etsuro@lab.ntt.co.jp
In reply to: Ashutosh Bapat (#3)
Re: Document transition table triggers are not allowed on views/foreign tables

Hi Ashutosh,

On Thu, Jul 24, 2025 at 12:06 AM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:

On Wed, Jul 23, 2025 at 4:16 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

On Tue, Jul 15, 2025 at 4:55 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

Another thing I noticed about transition tables is that while we
prohibit transition tables on views/foreign tables, there is no
description about that in the user-facing documentation. So I would
like to propose to do $SUBJECT in create_trigger.sgml. Attached is a
patch for that.

I think the restriction should be specified in a manner similar to how
restriction on CONSTRAINT option for foreign tables is specified i.e.
in " This option is only allowed for an AFTER trigger that is not a
constraint trigger; also, if the trigger is an UPDATE trigger, it must
not specify a column_name list.". But that sentence is already a bit
complex because of ; also, ... part. How about splitting the sentence
into two and mentioning restriction like below?

"This option is only allowed for an AFTER trigger on tables other than
views or foreign tables. The trigger should not be a constraint
trigger. If the trigger is an UPDATE trigger, it must not specify a
column_name list when using this option."

Good idea! This might be nitpicking, but one thing I noticed is this
part of the first sentence: "an AFTER trigger on tables other than
views or foreign tables". Like the CONSTRAINT-restrictions
description above, how about just saying "an AFTER trigger on a plain
table (not a foreign table)"? No need to mention views, so I removed
that. I also changed to singular because that sounds natural. My
first language is not English, though. Other than that the change
looks good to me.

Thanks for the review!

Best regards,
Etsuro Fujita

#5Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: Etsuro Fujita (#4)
Re: Document transition table triggers are not allowed on views/foreign tables

On Fri, Jul 25, 2025 at 3:22 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

Hi Ashutosh,

On Thu, Jul 24, 2025 at 12:06 AM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:

On Wed, Jul 23, 2025 at 4:16 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

On Tue, Jul 15, 2025 at 4:55 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

Another thing I noticed about transition tables is that while we
prohibit transition tables on views/foreign tables, there is no
description about that in the user-facing documentation. So I would
like to propose to do $SUBJECT in create_trigger.sgml. Attached is a
patch for that.

I think the restriction should be specified in a manner similar to how
restriction on CONSTRAINT option for foreign tables is specified i.e.
in " This option is only allowed for an AFTER trigger that is not a
constraint trigger; also, if the trigger is an UPDATE trigger, it must
not specify a column_name list.". But that sentence is already a bit
complex because of ; also, ... part. How about splitting the sentence
into two and mentioning restriction like below?

"This option is only allowed for an AFTER trigger on tables other than
views or foreign tables. The trigger should not be a constraint
trigger. If the trigger is an UPDATE trigger, it must not specify a
column_name list when using this option."

Good idea! This might be nitpicking, but one thing I noticed is this
part of the first sentence: "an AFTER trigger on tables other than
views or foreign tables". Like the CONSTRAINT-restrictions
description above, how about just saying "an AFTER trigger on a plain
table (not a foreign table)"? No need to mention views, so I removed
that.

I was actually going to suggest that, but I wasn't sure why you wanted
to mention "views" explicitly.

I also changed to singular because that sounds natural. My
first language is not English, though. Other than that the change
looks good to me.

+1.

--
Best Wishes,
Ashutosh Bapat

#6Etsuro Fujita
fujita.etsuro@lab.ntt.co.jp
In reply to: Ashutosh Bapat (#5)
Re: Document transition table triggers are not allowed on views/foreign tables

On Fri, Jul 25, 2025 at 7:59 PM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:

On Fri, Jul 25, 2025 at 3:22 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

On Thu, Jul 24, 2025 at 12:06 AM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:

On Wed, Jul 23, 2025 at 4:16 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

On Tue, Jul 15, 2025 at 4:55 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

Another thing I noticed about transition tables is that while we
prohibit transition tables on views/foreign tables, there is no
description about that in the user-facing documentation. So I would
like to propose to do $SUBJECT in create_trigger.sgml. Attached is a
patch for that.

I think the restriction should be specified in a manner similar to how
restriction on CONSTRAINT option for foreign tables is specified i.e.
in " This option is only allowed for an AFTER trigger that is not a
constraint trigger; also, if the trigger is an UPDATE trigger, it must
not specify a column_name list.". But that sentence is already a bit
complex because of ; also, ... part. How about splitting the sentence
into two and mentioning restriction like below?

"This option is only allowed for an AFTER trigger on tables other than
views or foreign tables. The trigger should not be a constraint
trigger. If the trigger is an UPDATE trigger, it must not specify a
column_name list when using this option."

Good idea! This might be nitpicking, but one thing I noticed is this
part of the first sentence: "an AFTER trigger on tables other than
views or foreign tables". Like the CONSTRAINT-restrictions
description above, how about just saying "an AFTER trigger on a plain
table (not a foreign table)"? No need to mention views, so I removed
that.

I was actually going to suggest that, but I wasn't sure why you wanted
to mention "views" explicitly.

I also changed to singular because that sounds natural. My
first language is not English, though. Other than that the change
looks good to me.

+1.

Cool! I updated the patch as above. I will push this version.

Best regards,
Etsuro Fujita

Attachments:

Update-documentation-about-transition-tables-v2.patchapplication/octet-stream; name=Update-documentation-about-transition-tables-v2.patchDownload+5-3
#7Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: Etsuro Fujita (#6)
Re: Document transition table triggers are not allowed on views/foreign tables

On Sat, Jul 26, 2025 at 4:59 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

On Fri, Jul 25, 2025 at 7:59 PM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:

On Fri, Jul 25, 2025 at 3:22 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

On Thu, Jul 24, 2025 at 12:06 AM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:

On Wed, Jul 23, 2025 at 4:16 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

On Tue, Jul 15, 2025 at 4:55 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

Another thing I noticed about transition tables is that while we
prohibit transition tables on views/foreign tables, there is no
description about that in the user-facing documentation. So I would
like to propose to do $SUBJECT in create_trigger.sgml. Attached is a
patch for that.

I think the restriction should be specified in a manner similar to how
restriction on CONSTRAINT option for foreign tables is specified i.e.
in " This option is only allowed for an AFTER trigger that is not a
constraint trigger; also, if the trigger is an UPDATE trigger, it must
not specify a column_name list.". But that sentence is already a bit
complex because of ; also, ... part. How about splitting the sentence
into two and mentioning restriction like below?

"This option is only allowed for an AFTER trigger on tables other than
views or foreign tables. The trigger should not be a constraint
trigger. If the trigger is an UPDATE trigger, it must not specify a
column_name list when using this option."

Good idea! This might be nitpicking, but one thing I noticed is this
part of the first sentence: "an AFTER trigger on tables other than
views or foreign tables". Like the CONSTRAINT-restrictions
description above, how about just saying "an AFTER trigger on a plain
table (not a foreign table)"? No need to mention views, so I removed
that.

I was actually going to suggest that, but I wasn't sure why you wanted
to mention "views" explicitly.

I also changed to singular because that sounds natural. My
first language is not English, though. Other than that the change
looks good to me.

+1.

Cool! I updated the patch as above. I will push this version.

LGTM.

--
Best Wishes,
Ashutosh Bapat

#8Etsuro Fujita
fujita.etsuro@lab.ntt.co.jp
In reply to: Ashutosh Bapat (#7)
Re: Document transition table triggers are not allowed on views/foreign tables

On Mon, Jul 28, 2025 at 2:14 PM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:

On Sat, Jul 26, 2025 at 4:59 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote:

I updated the patch as above. I will push this version.

LGTM.

Pushed and back-patched.

Thanks!

Best regards,
Etsuro Fujita