Fwd: [GENERAL] Problem with CREATE RULE <something> ON DELETE (PostgreSQL only executes the first expression)
J. Roeleveld <j.roeleveld@softhome.net>
From: "J. Roeleveld" <j.roeleveld@softhome.net>
To: pgsql-hackers@postgresql.org
Date: 1999-11-23T19:57:40Z
Lists: pgsql-hackers
Hi, I'm reposting it here, since i haven't received any help after posting it at the general mailing-list, and sending in a bug-report at the bugs mailing-list. I'm willing to forward the bug-report to any email-adress I'm asked for to sent it to, but since it's a long one (contains a full script to reproduce this error) I'm a bit reluctant to do so. Joost Roeleveld =========== Forwarded Message follows ========== 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