On 7 March 2011 22:39, Robert Haas <robertmhaas@gmail.com> wrote:
> On Mon, Mar 7, 2011 at 7:05 AM, Thom Brown <thom@linux.com> wrote:
>> This was spotted by someone who sent in a doc comment, although didn't
>> go with their suggestion. Patch attached.
>
> That's not really a typo so much as a think-o, I think. Maybe a
> little more text would help clarify: A column-specific trigger (one
> defined using the <literal>UPDATE OF
> <replaceable>column_name</replaceable></literal> syntax) will fire
> when...
>
> I think it would also be worth modifying this page so that the
> definition of event is in the syntax synopsis.
>
> Right now:
>
> rhaas=# \h create trigger
> Command: CREATE TRIGGER
> Description: define a new trigger
> Syntax:
> CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } {
> event [ OR ... ] }
> ON table
> [ FROM referenced_table_name ]
> { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE |
> INITIALLY DEFERRED } }
> [ FOR [ EACH ] { ROW | STATEMENT } ]
> [ WHEN ( condition ) ]
> EXECUTE PROCEDURE function_name ( arguments )
>
> It should really go on to say... "where event can be one of...", like
> EXPLAIN and COPY do, shouldn't it? Otherwise it's pretty hard to tell
> what you should put there without looking up the main docs.
Yes, absolutely. In fact that's what I was looking for when I first
visited that page.
So it would look like this:
where event can be one of:
INSERT [ OF column ]
UPDATE [ OF column ]
DELETE [ OF column ]
TRUNCATE
--
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935