Received: from orion.SAPserv.Hamburg.dsh.de (Tpolaris2.sapham.debis.de [53.2.131.8]) by hub.org (8.9.2/8.9.1) with SMTP id KAA84076 for ; Fri, 5 Mar 1999 10:52:08 -0500 (EST) (envelope-from wieck@sapserv.debis.de) Received: by orion.SAPserv.Hamburg.dsh.de for pgsql-sql@postgreSQL.org id m10IwzP-000EBQC; Fri, 5 Mar 99 16:58 MET Message-Id: From: jwieck@debis.com (Jan Wieck) Subject: Re: [SQL] rules To: rems@gdansk.sprint.pl (Remigiusz Sokolowski) Date: Fri, 5 Mar 1999 16:58:15 +0100 (MET) Cc: pgsql-sql@postgreSQL.org Reply-To: jwieck@debis.com (Jan Wieck) In-Reply-To: from "Remigiusz Sokolowski" at Mar 5, 99 12:53:17 pm X-Mailer: ELM [version 2.4 PL25] Content-Type: text > I try to create two rules > -first one on update one_id in one table > CREATE RULE rupd_one AS ON UPDATE TO one > DO UPDATE many > SET many_onef = new.one_id > WHERE many_onef = current.one_id; > > -second one on delete record from one table > CREATE RULE rdel_one AS ON DELETE TO one > DO DELETE FROM many > WHERE many_onef = old.one_id; > > In short these two seem don't work. I'm not sure of either syntax or some > other errors - psql at first rule don't report any errors, just output > UPDATE 0 > and second one usually something like this: > PQexec() -- Request was sent to backend, but backend closed the channel > before responding. > This probably means the backend terminated abnormally before or > while processing the request. There seems nothing wrong with the rules, except that you should use OLD instead of CURRENT in the update rule too because CURRENT will disappear in v6.5. But from the 'UPDATE 0' I guess you're using a Postgres version prior to v6.4 - right? I fixed the rule system for v6.4, before that it was so badly broken that you should not even try. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #======================================== jwieck@debis.com (Jan Wieck) #