CC-1985: Automatic rebroadcast of recorded content

populates rebroadcast show instances now, added a new table cc_show_rebroadcast,
added columns record, rebroadcast, instance_id, file_id to cc_show_instances table.
added column record to cc_show_days.
This commit is contained in:
naomiaro 2011-03-15 12:05:41 -04:00
parent eb2caf0adc
commit 6ef4169315
36 changed files with 4776 additions and 155 deletions

View file

@ -185,6 +185,10 @@ CREATE TABLE "cc_show_instances"
"starts" TIMESTAMP NOT NULL,
"ends" TIMESTAMP NOT NULL,
"show_id" INTEGER NOT NULL,
"record" INT2,
"rebroadcast" INT2,
"instance_id" INTEGER,
"file_id" INTEGER,
PRIMARY KEY ("id")
);
@ -210,12 +214,33 @@ CREATE TABLE "cc_show_days"
"repeat_type" INT2 NOT NULL,
"next_pop_date" DATE,
"show_id" INTEGER NOT NULL,
"record" INT2,
PRIMARY KEY ("id")
);
COMMENT ON TABLE "cc_show_days" IS '';
SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_show_rebroadcast
-----------------------------------------------------------------------------
DROP TABLE "cc_show_rebroadcast" CASCADE;
CREATE TABLE "cc_show_rebroadcast"
(
"id" serial NOT NULL,
"day_offset" VARCHAR(255) NOT NULL,
"start_time" TIME NOT NULL,
"show_id" INTEGER NOT NULL,
PRIMARY KEY ("id")
);
COMMENT ON TABLE "cc_show_rebroadcast" IS '';
SET search_path TO public;
-----------------------------------------------------------------------------
-- cc_show_hosts
@ -469,8 +494,14 @@ ALTER TABLE "cc_perms" ADD CONSTRAINT "cc_perms_subj_fkey" FOREIGN KEY ("subj")
ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;
ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_original_show_instance_fkey" FOREIGN KEY ("instance_id") REFERENCES "cc_show_instances" ("id") ON DELETE CASCADE;
ALTER TABLE "cc_show_instances" ADD CONSTRAINT "cc_recorded_file_fkey" FOREIGN KEY ("file_id") REFERENCES "cc_files" ("id") ON DELETE CASCADE;
ALTER TABLE "cc_show_days" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;
ALTER TABLE "cc_show_rebroadcast" ADD CONSTRAINT "cc_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;
ALTER TABLE "cc_show_hosts" ADD CONSTRAINT "cc_perm_show_fkey" FOREIGN KEY ("show_id") REFERENCES "cc_show" ("id") ON DELETE CASCADE;
ALTER TABLE "cc_show_hosts" ADD CONSTRAINT "cc_perm_host_fkey" FOREIGN KEY ("subjs_id") REFERENCES "cc_subjs" ("id") ON DELETE CASCADE;

View file

@ -22,22 +22,3 @@ CREATE FUNCTION calculate_position() RETURNS trigger AS
CREATE TRIGGER calculate_position AFTER INSERT OR DELETE ON cc_playlistcontents
FOR EACH ROW EXECUTE PROCEDURE calculate_position();
----------------------------------------------------------------------------------
--show_content()
----------------------------------------------------------------------------------
DROP FUNCTION show_content() CASCADE;
CREATE FUNCTION show_content() RETURNS trigger AS
'
BEGIN
IF(TG_OP=''DELETE'') THEN
UPDATE cc_show_schedule SET position = (position - 1)
WHERE (instance_id = old.instance_id AND position > old.position);
END IF;
RETURN NULL;
END;
'
LANGUAGE 'plpgsql';
CREATE TRIGGER show_content AFTER INSERT OR DELETE ON cc_show_schedule
FOR EACH ROW EXECUTE PROCEDURE show_content();