I am sending a prototype implementation of functions median and
percentile. This implementation is very simple and I moved it to
contrib for this moment - it is more easy maintainable. Later I'll
move it to core.
These functions are relative simple, there are not barrier for
implementation own specific mutations of this functions - so I propose
move to core only basic and well known form of these to core.
postgres=# select median(v) from generate_series(1,10) g(v);
Time: 1.475 ms
postgres=# select percentile(v,50) from generate_series(1,10) g(v);
Time: 0.626 ms
This implementation is based on tuplesort and the speed is relative
well - the result from 1000000 rows is less 1 sec.
Description: text/x-patch (7.7 KB)
pgsql-hackers by date
|Next:||From: Robert Haas||Date: 2010-08-19 13:00:23|
|Subject: Re: PL/pgsSQL EXECUTE USING INTO|
|Previous:||From: Pavel Stehule||Date: 2010-08-19 10:45:13|
|Subject: Re: proposal: tuplestore, tuplesort aggregate functions|
pgsql-rrreviewers by date
|Next:||From: Greg Stark||Date: 2010-08-19 14:50:23|
|Subject: Re: wip: functions median and percentile|
|Previous:||From: Kevin Grittner||Date: 2010-08-18 21:45:47|
|Subject: CommitFest 2010-07 final report|