Re: wip: functions median and percentile

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Hitoshi Harada <umi(dot)tanuki(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Fetter <david(at)fetter(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: wip: functions median and percentile
Date: 2010-10-01 17:37:03
Message-ID: AANLkTinMvd2bjUJ2V0-OLQTEg7X3ceaZibyRY3Eo9R6N@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-rrreviewers

2010/10/1 Hitoshi Harada <umi(dot)tanuki(at)gmail(dot)com>:
> 2010/10/2 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>> Hitoshi Harada <umi(dot)tanuki(at)gmail(dot)com> writes:
>>> 2010/10/2 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>>>> The implementation I would've expected to see is to do the sort and then
>>>> have two code paths for retrieving the median, depending on whether the
>>>> sort result is all in memory or not.
>>
>>> Hm? The problem we encountered in the middle of the patch is there is
>>> no chance to call tuplesort_end if median is called in moving frame
>>> window aggregate because final function is called multiple times
>>> during moving.
>>
>> Well, if you haven't got a solution for that, then this patch isn't
>> ready for prime time.
>>
>> It's entirely possible that median as a window function is intractable.
>> I'd rather have it throwing error than offer an implementation that will
>> fall over as soon as the window gets large.
>
> Well, that sounds like the conclusion. It is a shame, but we have to
> throw an error from median() in the window aggregate, if Pavel does
> not have any better solution. And as an aggregate function only, the
> patch is ready if the window-related parts are removed.
>

I am sorry - I don't have a better solution. Classic algorithm isn't
well for window aggregate - it needs a sort after any append a new
item. Maybe we can use a separate functionality based on estimated
values for a windows. I read some articles about it. But this is work
on longer time - all articles about this topic are experimental. More
I am not mathematician - so I am not able to review these methods.
Today or tomorrow I'll send a updated patch without support a window
aggregates.

Regards

Pavel Stehule

> Regards,
>
>
> --
> Hitoshi Harada
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marios Vodas 2010-10-01 18:02:02 timestamp_in DirectFunctionCall
Previous Message Andres Freund 2010-10-01 17:23:40 Re: So git pull is shorthand for what exactly?

Browse pgsql-rrreviewers by date

  From Date Subject
Next Message ๏̯͡๏ Guido Barosio 2010-10-01 17:48:11 Patch reviewers
Previous Message Hitoshi Harada 2010-10-01 15:35:03 Re: wip: functions median and percentile