wikibot[edit]
Function
|
public.getpercentavailabilityinwindow
|
CREATE OR REPLACE FUNCTION public.getpercentavailabilityinwindow(integer, character varying, integer, timestamp without time zone, timestamp without time zone)
RETURNS double precision
LANGUAGE plpgsql
AS $function$
DECLARE
nid ALIAS FOR $1;
ipid ALIAS FOR $2;
sid ALIAS FOR $3;
xtime ALIAS FOR $4;
ytime ALIAS FOR $5;
downtime float8;
BEGIN
downtime := getOutageTimeInWindow(nid, ipid, sid, xtime, ytime);
IF xtime > ytime THEN
RETURN 100 * (1 - (downtime / (EXTRACT(EPOCH FROM (xtime - ytime))* 1000)));
ELSE
RETURN 100 * (1 - (downtime / (EXTRACT(EPOCH FROM (ytime - xtime))* 1000)));
END IF;
END;
$function$