Обсуждение: Column-level triggers in docs
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
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
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