+DROP TYPE IF EXISTS episode_type_enum;
CREATE TYPE episode_type_enum AS ENUM ('', 'S', 'C', 'T', 'P', 'O', 'OP');
CREATE TABLE anime (
);
CREATE VIEW file_data AS
- SELECT f.fid, f.eid, f.aid, f.gid, f.anidb_update, f.entry_update, f.my_update, f.ed2k, f.size, f.length, f.extension, f.group_name, f.group_name_short, f.crc, f.release_date, f.version, f.censored, f.type, f.quality_id, f.quality, f.resolution, f.video_codec, f.audio_codec, f.audio_language, f.subtitle_language, f.aspect_ratio, f.my_watched, f.my_state, f.my_file_state, f.my_storage, f.my_source, f.my_other, a.title_romaji AS atitle, e.title_english AS eptitle FROM ((file f LEFT JOIN anime a ON ((f.aid = a.aid))) LEFT JOIN episode e ON ((f.eid = e.eid)));
+ SELECT f.fid, f.eid, f.aid, f.gid, f.anidb_update, f.entry_update, f.my_update, f.ed2k, f.size, f.length, f.extension, f.group_name, f.group_name_short, f.crc, f.release_date, f.version, f.censored, f.source, f.quality_id, f.quality, f.resolution, f.video_codec, f.audio_codec, f.audio_language, f.subtitle_language, f.aspect_ratio, f.my_watched, f.my_state, f.my_file_state, f.my_storage, f.my_source, f.my_other, a.title_romaji AS atitle, e.title_english AS eptitle FROM ((file f LEFT JOIN anime a ON ((f.aid = a.aid))) LEFT JOIN episode e ON ((f.eid = e.eid)));
CREATE VIEW rename_data AS
SELECT f.fid, f.eid, f.aid, f.gid, a.anidb_update AS anime_anidb_update, a.entry_update AS anime_entry_update, a.my_update AS anime_my_update, a.title_english AS anime_title_english,
a.title_romaji AS anime_title_romaji, a.title_kanji AS anime_title_kanji, a.description, a.year, a.start_date, a.end_date, a.type AS anime_type, a.total_episode_count, a.highest_epno, a.rating AS anime_rating, a.votes AS anime_votes,
a.temp_rating, a.temp_votes, a.my_vote AS anime_my_vote, a.my_vote_date AS anime_my_vote_date, a.my_temp_vote, a.my_temp_vote_date,
- (SELECT max(episode.epno) AS highest_epno FROM episode WHERE episode.aid = f.aid) AS highest_epno,
e.anidb_update AS episode_anidb_update, e.entry_update AS episode_entry_update, e.my_update AS episode_my_update, e.epno, e.title_english AS episode_title_english, e.title_romaji AS episode_title_romaji,
e.title_kanji AS episode_title_kanji, e.length AS episode_length, e.airdate, e.state, e.type, e.recap, e.rating, e.votes, e.my_vote, e.my_vote_date,
f.anidb_update, f.entry_update, f.my_update, f.ed2k, f.size, f.length, f.extension, f.group_name, f.group_name_short, f.crc, f.release_date, f.version, f.censored, f.source, f.quality_id,
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)
+ 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.total_episode_count <> new.total_episode_count OR old.highest_epno <> new.highest_epno 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)
+ 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.type <> new.type OR old.recap <> new.recap 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 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)
+ 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.source::text <> new.source::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;