-- -- 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;