| From: | Chris Kratz <chris(dot)kratz(at)vistashare(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Rule appears not to fire on insert w/ "except" |
| Date: | 2005-11-21 21:39:19 |
| Message-ID: | 200511211639.19240.chris.kratz@vistashare.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Monday 21 November 2005 03:35 pm, you wrote:
> Chris Kratz <chris(dot)kratz(at)vistashare(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Magnus Hagander | 2005-11-21 21:59:19 | Re: Trouble downloading Postgres |
| Previous Message | Jaime Casanova | 2005-11-21 21:36:24 | Re: Anomalies with the now() function |