Column-level triggers in docs

Started by Thom Brownover 15 years ago3 messagesdocs
Jump to latest
#1Thom Brown
thom@linux.com

I notice that the 9.0 docs page for CREATE TRIGGER doesn't indicate
column-level syntax in the synopsis:
http://www.postgresql.org/docs/9.0/static/sql-createtrigger.html

It does detail the additional syntax required for specifying a column
in the "event" parameter detail, but shouldn't this also be in the
synopsis?

So it would read something like:

CREATE TRIGGER name { BEFORE | AFTER } { event [ OF column_name [, ...
] ] [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
[ WHEN ( condition ) ]
EXECUTE PROCEDURE function_name ( arguments )

--
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Thom Brown (#1)
Re: Column-level triggers in docs

Thom Brown <thom@linux.com> writes:

I notice that the 9.0 docs page for CREATE TRIGGER doesn't indicate
column-level syntax in the synopsis:
http://www.postgresql.org/docs/9.0/static/sql-createtrigger.html

My recollection is that we did it that way deliberately. The originally
submitted patch tried to explain this as part of the syntax diagram,
but it was (a) confusing and (b) not correct in detail.

So it would read something like:

CREATE TRIGGER name { BEFORE | AFTER } { event [ OF column_name [, ...
] ] [ OR ... ] }

If you do this then it looks like "OF column_name" can be attached to
all four event types, which is wrong. So you end up needing just as
much verbal annotation as in the current arrangement.

regards, tom lane

#3Thom Brown
thom@linux.com
In reply to: Tom Lane (#2)
Re: Column-level triggers in docs

On 29 August 2010 15:35, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Thom Brown <thom@linux.com> writes:

I notice that the 9.0 docs page for CREATE TRIGGER doesn't indicate
column-level syntax in the synopsis:
http://www.postgresql.org/docs/9.0/static/sql-createtrigger.html

My recollection is that we did it that way deliberately.  The originally
submitted patch tried to explain this as part of the syntax diagram,
but it was (a) confusing and (b) not correct in detail.

I missed the discussion is seems.

So it would read something like:

CREATE TRIGGER name { BEFORE | AFTER } { event [ OF column_name [, ...
] ] [ OR ... ] }

If you do this then it looks like "OF column_name" can be attached to
all four event types, which is wrong.  So you end up needing just as
much verbal annotation as in the current arrangement.

Ah, yes, I didn't consider that. Fair enough.

--
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935