On Mon, Mar 7, 2011 at 12:59 PM, Thom Brown <thom@linux.com> wrote:
> 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
Well, the existing documentation says that OF column is only allowed for UPDATE.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company