On Thu, Apr 04, 2002 at 02:29:13PM -0500, Tom Lane wrote:
> Frank Joerdens <frank(at)joerdens(dot)de> writes:
> > And here's the rule (it doesn't do anything real or interesting, I just
> > simplified it to the point where it looked like the example):
>
> > CREATE RULE insert_level AS
> > ON INSERT TO tree
> > WHERE new.id > 0 DO
> > UPDATE tree SET leveling = 1
> > WHERE tree.oid = new.oid;
>
> What's happening is that "new.id" is effectively still NULL at the point
> where the rule is processed, so the rule WHERE condition fails. I'm not
> sure why you're bothering with that WHERE condition anyway ...
Without the WHERE condition, all rows are affected by the update, and
not just the newly inserted one.
Regards, Frank