creating a new aggregate function - Mailing list pgsql-sql

From Seb
Subject creating a new aggregate function
Date
Msg-id 87iorvurrd.fsf@net82.ceos.umanitoba.ca
Whole thread Raw
Responses Re: creating a new aggregate function
List pgsql-sql
Hi,

I'm trying to implement an aggregate function to calculate the average
angle from one or more angles and corresponding magnitudes.  So my first
step is to design a function that decomposes the angles and magnitudes
and returns the corresponding x and y vectors, and the following works
does this:

---<--------------------cut here---------------start------------------->---
CREATE OR REPLACE FUNCTION decompose_angle(IN angle numeric, IN magnitude numeric, OUT x numeric, OUT y numeric)
RETURNSrecord AS
 
$BODY$
BEGINx := sin(radians(angle)) * magnitude;y := cos(radians(angle)) * magnitude;
END;
$BODY$ LANGUAGE plpgsql STABLE COST 100;
ALTER FUNCTION decompose_angle(numeric, numeric) OWNER TO sluque;
COMMENT ON FUNCTION decompose_angle(numeric, numeric) IS 'Decompose an angle and magnitude into x and y vectors.';
---<--------------------cut here---------------end--------------------->---

Before moving on to writing the full aggregate, I'd appreciate any
suggestions to understand how to go about writing an aggregate for the
above, that would return the average x and y vectors.

Cheers,

-- 
Seb




pgsql-sql by date:

Previous
From: ALMA TAHIR
Date:
Subject: Re: Function Issue
Next
From: David Johnston
Date:
Subject: Re: creating a new aggregate function