-- -- workflow__add_transition/6 -- create or replace function workflow__add_transition( character varying, character varying, character varying, character varying, integer, character varying ) returns int4 as $$ declare add_transition__workflow_key alias for $1; add_transition__transition_key alias for $2; add_transition__transition_name alias for $3; add_transition__role_key alias for $4; add_transition__sort_order alias for $5; add_transition__trigger_type alias for $6; -- default 'user' v_sort_order integer; begin if add_transition__sort_order is null then select coalesce(max(sort_order)+1, 1) into v_sort_order from wf_transitions where workflow_key = add_transition__workflow_key; else v_sort_order := add_transition__sort_order; end if; insert into wf_transitions ( workflow_key, transition_key, transition_name, role_key, sort_order, trigger_type ) values ( add_transition__workflow_key, add_transition__transition_key, add_transition__transition_name, add_transition__role_key, v_sort_order, add_transition__trigger_type ); return 0; end;$$ language plpgsql;