Re: [SQL] rules

From: jwieck(at)debis(dot)com (Jan Wieck)
To: rems(at)gdansk(dot)sprint(dot)pl (Remigiusz Sokolowski)
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] rules
Date: 1999-03-05 15:58:15
Message-ID: m10IwzP-000EBQC@orion.SAPserv.Hamburg.dsh.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> 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(at)debis(dot)com (Jan Wieck) #

In response to

  • rules at 1999-03-05 11:53:17 from Remigiusz Sokolowski

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Emils Klotins 1999-03-05 16:31:08 Hello & create rule question
Previous Message Remigiusz Sokolowski 1999-03-05 11:53:17 rules