Re: wip: functions median and percentile

From: Hitoshi Harada <umi(dot)tanuki(at)gmail(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, David Fetter <david(at)fetter(dot)org>
Subject: Re: wip: functions median and percentile
Date: 2010-09-22 03:06:51
Message-ID: AANLkTi=xJn+nPK3fw2zCuHj1wdRbJBvcYGdAxYLpgU9S@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-rrreviewers

2010/9/22 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:
> Hello
>
> I found probably hard problem in cooperation with window functions :(
>
> tuplesort_begin_datum creates child context inside aggcontext. This
> context is used for tuplestore. But when this function is called from
> WindowAgg_Aggregates context - someone drops all child context every
> iteration, and then tuplestore state is invalid. For this moment we
> can block using a median function as window function, but it should be
> solved better - if it is possible - I don't see inside window function
> implementation.

Does it happen when the window frame starts from not UNBOUNDED
PRECEDING? In those cases, nodeWindowAgg tries to discard all
aggregate contexts and to initialize the aggregate state. AFAIK the
memory context is brand-new although it was reset and its children
deleted, so if the function is well-formed and initializes its state
on NULL input, it doesn't cause a problem.

Regards,

--
Hitoshi Harada

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2010-09-22 03:07:15 Re: Multi-branch committing in git, revisited
Previous Message Bruce Momjian 2010-09-22 03:05:05 Re: Multi-branch committing in git, revisited

Browse pgsql-rrreviewers by date

  From Date Subject
Next Message Pavel Stehule 2010-09-22 04:36:24 Re: wip: functions median and percentile
Previous Message Hitoshi Harada 2010-09-22 02:21:01 Re: wip: functions median and percentile