-- Update rules
CREATE OR REPLACE RULE anime_update_notify_rule AS
- ON UPDATE TO anime DO SELECT pg_notify('rename_data_changed', ''),
+ ON UPDATE TO anime
+ WHERE old.aid = new.aid
+ AND (old.* IS DISTINCT FROM new.*)
+ DO SELECT pg_notify('rename_data_changed', ''),
pg_notify('anime_update', new.aid::text);
CREATE OR REPLACE RULE episode_update_notify_rule AS
- ON UPDATE TO episode DO SELECT pg_notify('rename_data_changed', ''),
+ ON UPDATE TO episode
+ WHERE old.eid = new.eid
+ AND (old.* IS DISTINCT FROM new.*)
+ DO SELECT pg_notify('rename_data_changed', ''),
pg_notify('episode_update', new.eid::text || ',' || new.aid::text);
CREATE OR REPLACE RULE file_update_notify_rule AS
- ON UPDATE TO file DO SELECT pg_notify('rename_data_changed', ''),
+ ON UPDATE TO file
+ WHERE old.fid = new.fid
+ AND (old.* IS DISTINCT FROM new.*)
+ DO SELECT pg_notify('rename_data_changed', ''),
pg_notify('file_update', new.fid::text || ',' || new.eid::text || ',' || new.aid::text);
CREATE OR REPLACE RULE file_location_update_notify_rule AS
- ON UPDATE TO file_location DO SELECT pg_notify('rename_data_changed', ''),
+ ON UPDATE TO file_location
+ WHERE old.location_id = new.location_id
+ AND (old.* IS DISTINCT FROM new.*)
+ DO SELECT pg_notify('rename_data_changed', ''),
pg_notify('file_location_update', new.location_id::text || ',' || new.fid::text);
CREATE OR REPLACE RULE watched_directory_update_notify_rule AS