-- -- workflow_case__execute_time_callback/4 -- create or replace function workflow_case__execute_time_callback( character varying, character varying, integer, character varying ) returns timestamptz as $$ declare execute_time_callback__callback alias for $1; execute_time_callback__custom_arg alias for $2; execute_time_callback__case_id alias for $3; execute_time_callback__transition_key alias for $4; v_rec record; v_str text; begin if execute_time_callback__callback = '' or execute_time_callback__callback is null then raise EXCEPTION '-20000: There''s no time_callback function for the timed transition "%"', execute_time_callback__transition_key; end if; v_str := 'select ' || execute_time_callback__callback || '(' || execute_time_callback__case_id || ',' || quote_literal(execute_time_callback__transition_key) || ',' || coalesce(quote_literal(execute_time_callback__custom_arg),'null') || ') as trigger_time'; for v_rec in execute v_str LOOP return v_rec.trigger_time; end LOOP; return null; end;$$ language plpgsql;