JOIN file_location fl ON fl.fid = f.fid
WHERE fl.renamed IS NULL AND fl.failed_rename = false;
+CREATE RULE new_anime_rule AS ON INSERT TO anime DO NOTIFY rename_data_changed;
+CREATE RULE new_episode_rule AS ON INSERT TO episode DO NOTIFY rename_data_changed;
+CREATE RULE new_file_rule AS ON INSERT TO file DO NOTIFY rename_data_changed;
+
+CREATE RULE update_anime_rule AS
+ ON UPDATE TO anime
+ WHERE old.aid = new.aid
+ AND (old.title_english <> new.title_english OR old.title_romaji <> new.title_romaji OR old.title_kanji <> new.title_kanji OR old.description <> new.description OR old.year <> new.year OR old.start_date <> new.start_date OR old.end_date <> new.end_date OR old.type::text <> new.type::text OR old.rating <> new.rating OR old.votes <> new.votes OR old.temp_rating <> new.temp_rating OR old.temp_votes <> new.temp_votes)
+ DO UPDATE file_location fl SET renamed = NULL
+ FROM file f
+ WHERE f.fid = fl.fid AND f.aid = old.aid;
+
+CREATE RULE update_episode_rule AS
+ ON UPDATE TO episode
+ WHERE old.eid = new.eid
+ AND (old.aid <> new.aid OR old.epno <> new.epno OR old.title_english <> new.title_english OR old.title_romaji <> new.title_romaji OR old.title_kanji <> new.title_kanji OR old.length <> new.length OR old.airdate <> new.airdate OR old.state <> new.state OR old.special <> new.special OR old.recap <> new.recap OR old.opening <> new.opening OR old.ending <> new.ending OR old.rating <> new.rating OR old.votes <> new.votes)
+ DO UPDATE file_location fl SET renamed = NULL
+ FROM file f
+ WHERE f.fid = fl.fid AND f.eid = old.eid;
+
+CREATE OR REPLACE RULE update_file_rule AS
+ ON UPDATE TO file
+ WHERE old.fid = new.fid
+ AND (old.eid <> new.eid OR old.aid <> new.aid OR old.gid <> new.gid OR old.ed2k <> new.ed2k OR old.size <> new.size OR old.length <> new.length OR old.extension::text <> new.extension::text OR old.group_name <> new.group_name OR old.group_name_short <> new.group_name_short OR old.crc <> new.crc OR old.release_date <> new.release_date OR old.version <> new.version OR old.censored <> new.censored OR old.type::text <> new.type::text OR old.quality_id <> new.quality_id OR old.quality::text <> new.quality::text OR old.resolution::text <> new.resolution::text OR old.video_codec::text <> new.video_codec::text OR old.audio_codec::text <> new.audio_codec::text OR old.audio_language::text <> new.audio_language::text OR old.subtitle_language::text <> new.subtitle_language::text OR old.aspect_ratio::text <> new.aspect_ratio::text)
+ DO UPDATE file_location fl SET renamed = NULL
+ WHERE fl.fid = old.fid;
+
CREATE RULE config_updated_rule AS ON UPDATE TO config DO NOTIFY config_changed;
CREATE RULE file_episode_rel_ignore_duplicate AS ON INSERT TO file_episode_rel WHERE (EXISTS (SELECT 1 FROM file_episode_rel WHERE ((file_episode_rel.fid = new.fid) AND (file_episode_rel.eid = new.eid)))) DO INSTEAD NOTHING;
CREATE RULE unknown_file_ignore_duplicate AS ON INSERT TO unknown_file WHERE (EXISTS (SELECT 1 FROM unknown_file WHERE ((unknown_file.ed2k = new.ed2k) AND (unknown_file.size = new.size)))) DO INSTEAD NOTHING;
COMMENT ON RULE unknown_file_ignore_duplicate ON unknown_file IS 'Adding the same file more than once can happen';
-CREATE RULE new_pending_mylist_update_rule AS ON INSERT TO pending_mylist_update DO NOTIFY new_pending_mylist_update;
\ No newline at end of file
+CREATE RULE new_pending_mylist_update_rule AS ON INSERT TO pending_mylist_update DO NOTIFY new_pending_mylist_update;