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