--
-- workflow__add_place/4
--
create or replace function workflow__add_place(
character varying,
character varying,
character varying,
integer
) returns int4 as $$
declare
add_place__workflow_key alias for $1;
add_place__place_key alias for $2;
add_place__place_name alias for $3;
add_place__sort_order alias for $4;
v_sort_order integer;
begin
if add_place__sort_order is null then
select coalesce(max(sort_order)+1, 1)
into v_sort_order
from wf_places
where workflow_key = add_place__workflow_key;
else
v_sort_order := add_place__sort_order;
end if;
insert into wf_places (workflow_key, place_key, place_name, sort_order)
values (add_place__workflow_key, add_place__place_key,add_place__place_name, add_place__sort_order);
return 0;
end;$$ language plpgsql;