rule's behavior with join interesting - Mailing list pgsql-sql

From Kemin Zhou
Subject rule's behavior with join interesting
Date
Msg-id 4086D465.1060907@ferring.com
Whole thread Raw
Responses Re: rule's behavior with join interesting  (Richard Huxton <dev@archonet.com>)
List pgsql-sql
Here I have a very simple case

table1
table1_removed

anotherTable

create or replace RULE rec_remove as ON DELETE TO table1
do insert into table1_remove
select old.*, a.acc from old g join anotherTable a on g.acc=a.other_acc;
===
the parser complained       ERROR:  relation "*OLD*" does not exist
So I used
select old.*, a.acc from table1 g join anotherTable a on g.acc=a.other_acc;

This worked find.

When I run delete on table1, 213 rows.

tmp table received 213X213 = 45369 rows.  each row is duplicated 213 times.

My question: Is it possible to bring in another table in a rule?
Where am I wrong in this case.  Certainly I don't want that duplications.

My table1_removed contain a primary key for the id.  The speed of doing 
the delete is also very slow
apparently it has to do N-square inserts.
I have very limited information to read on the manual of postgres.
Any solution?

Kemin





**********************************************************************
Proprietary or confidential information belonging to Ferring Holding SA or to one of its affiliated companies may be
containedin the message. If you are not the addressee indicated in this message (or responsible for the delivery of the
messageto such person), please do not copy or deliver this message to anyone. In such case, please destroy this message
andnotify the sender by reply e-mail. Please advise the sender immediately if you or your employer do not consent to
e-mailfor messages of this kind. Opinions, conclusions and other information in this message represent the opinion of
thesender and do not necessarily represent or reflect the views and opinions of Ferring.
 
**********************************************************************



pgsql-sql by date:

Previous
From: Edmund Bacon
Date:
Subject: Re: Join issue on a maximum value
Next
From: Heflin
Date:
Subject: Re: Join issue on a maximum value