Re: wip: functions median and percentile
Hitoshi Harada <umi.tanuki@gmail.com>
From: Hitoshi Harada <umi.tanuki@gmail.com>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Greg Stark <gsstark@mit.edu>, Tom Lane <tgl@sss.pgh.pa.us>, Dean Rasheed <dean.a.rasheed@gmail.com>, Robert Haas <robertmhaas@gmail.com>, David Fetter <david@fetter.org>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-10-12T03:08:32Z
Lists: pgsql-hackers
2010/10/12 Pavel Stehule <pavel.stehule@gmail.com>: > Hello > > 2010/10/11 Greg Stark <gsstark@mit.edu>: >> On Sun, Oct 10, 2010 at 2:16 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> It was pointed out upthread that while median isn't presently >>> in the standard, Oracle defines it in terms of percentile_cont(0.5) >>> which *is* in the standard. >> >> Uhmm, then why don't we implement that? We could provide median() as a >> short-cut but percentile_cont() doesn't sound much harder to implement >> than median() and more general. > > The problem is in interface. The original patch did it, but I removed > it. We cannot to unsure immutability of some parameters now. Can we > enhance a AGGREGATE to allow some mark like IMMUTABLE parameter and > probably we should to support ANSI syntax: > > PERCENTILE_CONT ( expression1 ) > WITHIN GROUP ( ORDER BY expression2 [ ASC | DESC ] ) > > This syntax allows to divide a muttable and immutable parameters. If this is only a syntax sugar for mutable/immutable parameter, then I guess it's time to take it serious to implement in our syntax, although I'm not sure if it affects more execution model than interface. Regards, -- Hitoshi Harada