Re: Rule appears not to fire on insert w/ "except" - Mailing list pgsql-general

From Chris Kratz
Subject Re: Rule appears not to fire on insert w/ "except"
Date
Msg-id 200511211639.19240.chris.kratz@vistashare.com
Whole thread Raw
In response to Re: Rule appears not to fire on insert w/ "except"  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Monday 21 November 2005 03:35 pm, you wrote:
> Chris Kratz <chris.kratz@vistashare.com> writes:
> > CREATE OR REPLACE RULE debug_rule AS
> >     ON INSERT TO test1
> >    do INSERT INTO test_que (row_id)
> >   VALUES (new.id);
>
> You would be a whole lot better off doing this with a trigger.
>
> > insert into test1
> >   select id,data from test2
> >   except select id,data from test1;
>
> I believe the problem with this is that the rule re-evaluates the
> command to generate the "new" results, and by that point the rows
> have already been inserted into test1, thus disappear from the
> result of the "except" ...
>
>             regards, tom lane

We were afraid of that.  Thanks for the info Tom.  I'm not entirely sure I
grasp exactly why it's going on, but we will switch over to a trigger.

Thanks,

-Chris

pgsql-general by date:

Previous
From: Jaime Casanova
Date:
Subject: Re: Anomalies with the now() function
Next
From: "Magnus Hagander"
Date:
Subject: Re: Trouble downloading Postgres