Problem with CREATE RULE <something> ON DELETE (PostgreSQL only executes the first expression)

From: "J(dot) Roeleveld" <j(dot)roeleveld(at)softhome(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Problem with CREATE RULE <something> ON DELETE (PostgreSQL only executes the first expression)
Date: 1999-11-17 20:21:52
Message-ID: 4.1.19991117211134.00918c40@pop.softhome.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I have found what appears to be a bug in PostgreSQL, or is this a feature?
I don't think it's a feature, because the postgreSQL documentation state it
should work.

When creating delete-rules for views, i have found that only the first
expression is being executed, when
using multiple expressions.

I have managed to do this for Insert, and i think for Update as well...
although i haven't gotten around to testing that yet.

The following is the RULE-definition I use, it's for a View (
bedrijven_view ) which consists of
two tables ( adressen_table and bedrijven_table ).
When I change the sequence (eg. put the delete from bedrijven_table first)
it still only does the first statement.

CREATE RULE delete_bedrijven_view AS ON DELETE
TO bedrijven_view
DO INSTEAD (
DELETE FROM adressen_table
WHERE adres_id = get_adres_nummer(straatnaam,
huisnummer,postcode,land);
DELETE FROM bedrijven_table
WHERE firma_id = firma_id;
);

If you require more information, for instance a full list of statements
that can reproduce the problem,
please let me know, and I'll forward the bug-report I sent in yesterday
morning.

with kind regards,

Joost Roeleveld

PS. this is not a new problem, someone else reported this before, but he
hasn't found out how to solve
this problem either.

Browse pgsql-general by date

  From Date Subject
Next Message Narayanan, Kannan 1999-11-17 20:29:42 How to select the millisecond/microsecond parts of the datetime c olumn
Previous Message Herbert Liechti 1999-11-17 19:53:33 sql question