Re: CREATE RULE ignored, what did I do wrong - Mailing list pgsql-sql

From Tom Lane
Subject Re: CREATE RULE ignored, what did I do wrong
Date
Msg-id 7805.1094884943@sss.pgh.pa.us
Whole thread Raw
In response to CREATE RULE ignored, what did I do wrong  (andrew@pillette.com)
List pgsql-sql
andrew@pillette.com writes:
> Foreign-key constraints:
>     "$1" FOREIGN KEY (smoothing_id) REFERENCES smoothing_algorithm(smoothing_id) ON UPDATE CASCADE ON DELETE CASCADE
> Rules:
>     del_smoothed_rank_episode AS ON DELETE TO smoothed_rank_episode
> WHERE (NOT old.is_deleted) DO INSTEAD ...

The DELETE commands generated by the foreign key ON DELETE CASCADE will
get rewritten by your ON DELETE rule.  You probably do not want to do
this; or at least not make it an INSTEAD rule.

There has been some debate in the past about whether rules should be
able to break foreign-key constraints, but I tend to class it as a
"you should know what you're doing" feature.  Preventing this kind
of error would inevitably result in a serious reduction of the power
of the rule feature.
        regards, tom lane


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: Using UPDATE FROM
Next
From: Michael Glaesemann
Date:
Subject: Re: HOW TO HANDLE ZEROS IN DATE FIELD?