All pastes #993926 Raw Edit

Stuff

public sql v1 · immutable
#993926 ·published 2008-04-22 23:29 UTC
rendered paste body
CREATE FUNCTION call_cleanup () RETURNS opaque AS '  DECLARE	-- Declare variables to hold the information.	call_callid		TEXT;	call_method		TEXT;	call_time		TIMESTAMP;	call_src_user	TEXT;	call_sip_code	TEXT;	call_src_domain	TEXT;	call_dst_user	TEXT;	call_dst_domain	TEXT;	  BEGIN	IF NEW.method = "BYE" THEN		SELECT * FROM acc WHERE callid = NEW.callid AND method = "BYE" AND NEW.sip_code = "200";		IF NOT FOUND THEN   			SELECT * INTO callid AS call_callid, "time" AS call_time, src_user AS call_src_user, src_domain AS call_src_domain, dst_user AS call_dst_user, dst_domain AS dst_domain, sip_code AS call_sip_code FROM acc WHERE callid = NEW.callid AND method = "INVITE" AND NEW.sip_code = "200" ORDER BY time LIMIT 1;			INSERT INTO call_records(callid, time src_user, src_domain, dst_user, dst_domain, duration) VALUES(call_callid, call_time, call_src_user, call_src_domain, call_dst_user, call_dst_domain, NEW.time - call_time);		END IF;	    END IF;        RETURN NEW;  END;' LANGUAGE 'plpgsql';