-- -- workflow_case__ensure_task_in_state/2 -- create or replace function workflow_case__ensure_task_in_state( integer, character varying ) returns int4 as $$ declare ensure_task_in_state__task_id alias for $1; ensure_task_in_state__state alias for $2; v_count integer; begin select case when count(*) = 0 then 0 else 1 end into v_count from wf_tasks where task_id = ensure_task_in_state__task_id and state = ensure_task_in_state__state; if v_count != 1 then raise EXCEPTION '-20000: The task % is not in state "%"', ensure_task_in_state__task_id, ensure_task_in_state__state; end if; return 0; end;$$ language plpgsql;