--
-- timespan__join_interval/3
--
create or replace function timespan__join_interval(
integer,
integer,
boolean
) returns int4 as $$
-- time_intervals.interval_id%TYPE
declare
join_interval__timespan_id alias for $1;
join_interval__interval_id alias for $2;
join_interval__copy_p alias for $3; -- default true
v_interval_id time_intervals.interval_id%TYPE;
begin
if join_interval__copy_p then
v_interval_id := time_interval__copy(join_interval__interval_id);
else
v_interval_id := join_interval__interval_id;
end if;
insert into timespans
(timespan_id, interval_id)
values
(join_interval__timespan_id, v_interval_id);
-- JS: We might as well return the interval id being joined, instead of returning a dummy integer
return v_interval_id;
end;$$ language plpgsql;