--
-- time_interval__copy/2
--
create or replace function time_interval__copy(
copy__interval_id integer,
copy__offset_interval interval
) returns int4 as $$
DECLARE
interval_row time_intervals%ROWTYPE;
v_foo timestamptz;
BEGIN
select * into interval_row
from time_intervals
where interval_id = copy__interval_id;
return time_interval__new(
(interval_row.start_date ::timestamp + copy__offset_interval) :: timestamptz,
(interval_row.end_date ::timestamp + copy__offset_interval) :: timestamptz
);
END;
$$ language plpgsql;
--
-- time_interval__copy/1
--
create or replace function time_interval__copy(
integer
) returns int4 as $$
-- return time_intervals.interval_id%TYPE
declare
copy__interval_id alias for $1;
v_query varchar;
v_result time_intervals.interval_id%TYPE;
rec_datecalc record;
begin
return time_interval__copy(
copy__interval_id,
interval '0 days'
);
end;$$ language plpgsql;
--
-- time_interval__copy/2
--
create or replace function time_interval__copy(
integer,
integer
) returns int4 as $$
-- time_intervals.interval_id%TYPE
declare
copy__interval_id alias for $1;
copy__offset alias for $2; -- default 0
begin
return time_interval__copy(
copy__interval_id,
to_interval(copy__offset,'days')
);
end;$$ language plpgsql;