--
-- Desribes how an event recurs.
--
CREATE TABLE recurrences (
recurrence_id integer PRIMARY KEY NOT NULL,
--
-- One of day, week, month_by_date, month_by_day, last_of_month, year, custom.
--
interval_type integer NOT NULL,
--
-- Indicates how many of the given intervals between recurrences.
--
every_nth_interval integer,
--
-- For weekly recurrences, stores which days of the week the event recurs on.
--
days_of_week varchar(20),
--
-- Indicates when this event should stop recurring. Null indicates
-- recur indefinitely.
--
recur_until timestamptz,
--
-- Indicates the date of the last recurrence added. Used to determine if more
-- recurrences need to be added.
--
db_populated_until timestamptz,
--
-- Stores the name of a PL/SQL function that can be called to generate dates
-- for special recurrences.
--
custom_func varchar(255),
CONSTRAINT recurrences_pk REFERENCES recurrence_interval_types (),
CONSTRAINT recurs_interval_type_fk REFERENCES recurrence_interval_types (),
CONSTRAINT recurs_every_nth_interval_ck REFERENCES recurrence_interval_types ()
);
CREATE INDEX recurrences_interval_type_idx ON recurrences (interval_type);
CREATE TRIGGER RI_ConstraintTrigger_a_340317 AFTER DELETE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_del (disabled)
CREATE TRIGGER RI_ConstraintTrigger_a_340318 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_noaction_upd (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_342864 AFTER INSERT FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_ins (disabled)
CREATE TRIGGER RI_ConstraintTrigger_c_342865 AFTER UPDATE FOR EACH ROW EXECUTE PROCEDURE RI_FKey_check_upd (disabled)
-- Tables with foreign keys that refer to recurrences:
--acs_events(recurrences_pk)
--acs_events(recurs_every_nth_interval_ck)
--acs_events(recurs_interval_type_fk)
-- Table size: 8,192 bytes
-- Table rows: 3
Tables: