Re: aggregate function for median calculation - Mailing list pgsql-general

From Alex Pilosov
Subject Re: aggregate function for median calculation
Date
Msg-id Pine.BSO.4.10.10106181823320.1010-100000@spider.pilosoft.com
Whole thread Raw
In response to aggregate function for median calculation  ("Thalis A. Kalfigopoulos" <thalis@cs.pitt.edu>)
Responses Re: aggregate function for median calculation  (Philip Hallstrom <philip@adhesivemedia.com>)
Re: aggregate function for median calculation  ("Thalis A. Kalfigopoulos" <thalis@cs.pitt.edu>)
List pgsql-general
On Mon, 18 Jun 2001, Thalis A. Kalfigopoulos wrote:

> Hippl,
>     I'm interested in calculating the median of a set of numbers.
> The algorithm requires that all values are known in advance (ie stored
> in an array). So the question is: how can I store everything first in
> an array so I can later process it given that I'd like this to be an
> aggregate function. I thought of creating an aggregate function and
> have the state_function() gather all the values of a group in an array
> and the final_function() to do the actuall median calculation on this
> array. But the intermmediate state cannot hold multiple values in an
> array (can it?)  Any ideas on how to go with this?

With current architecture, its kinda painful to implement such a function.
Your 'state' function should allocate (palloc) memory for each element
processed and then pfree it when you are done.

-alex



pgsql-general by date:

Previous
From: John Holland
Date:
Subject: Re: General Security-Question
Next
From: Adam Haberlach
Date:
Subject: Web site gripes