I've just been bitten by this:

dsuch=# CREATE RULE foorule AS ON UPDATE
dsuch-#     TO foo WHERE NEW.x = '1'
dsuch-#     DO ALSO NOTIFY bar;
ERROR: rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE actions

Here's an explanation http://archives.postgresql.org/pgsql-hackers/2001-11/msg00986.php, but would you also consider applying the following tiny patch to create_rule.sgml
to document the behaviour?

thank you,

*** create_rule.sgml.orig       Sun Jun 24 21:09:22 2007
--- create_rule.sgml    Sun Jun 24 21:09:37 2007
*** 176,185 ****
--- 176,187 ----
        The command or commands that make up the rule action.  Valid
        commands are <command>SELECT</command>,
        <command>INSERT</command>, <command>UPDATE</command>,
        <command>DELETE</command>, or <command>NOTIFY</command>.
+       Note that <command>NOTIFY</command> is not a valid command if
+ <replaceable class="parameter">condition</replaceable> is specified.

Dariusz Suchojad

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to