--
-- recurrence__new/5
--
create or replace function recurrence__new(
new__interval_name character varying,
new__every_nth_interval integer,
new__days_of_week character varying,
new__recur_until timestamp with time zone,
new__custom_func character varying
) returns int4 as $$
-- recurrences.recurrence_id%TYPE
DECLARE
v_recurrence_id recurrences.recurrence_id%TYPE;
v_interval_type_id recurrence_interval_types.interval_type%TYPE;
BEGIN
select nextval('recurrence_sequence') into v_recurrence_id from dual;
select interval_type
into v_interval_type_id
from recurrence_interval_types
where interval_name = new__interval_name;
insert into recurrences
(recurrence_id,
interval_type,
every_nth_interval,
days_of_week,
recur_until,
custom_func)
values
(v_recurrence_id,
v_interval_type_id,
new__every_nth_interval,
new__days_of_week,
new__recur_until,
new__custom_func);
return v_recurrence_id;
END;
$$ language plpgsql;