Обсуждение: Problem with CREATE RULE ON DELETE (PostgreSQL
only executes the first expression)
Problem with CREATE RULE ON DELETE (PostgreSQL
only executes the first expression)
От
"J. Roeleveld"
Дата:
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.