Re: Aggregate-function space leakage

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org, Chris Spotts <rfusca(at)gmail(dot)com>
Subject: Re: Aggregate-function space leakage
Date: 2009-07-22 23:01:27
Message-ID: 407d949e0907221601x361fd4fx822763e641508f3a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jul 22, 2009 at 10:14 PM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> The reason for that turns out to be that we deliberately lobotomized
> array_agg that way, just last month:
> http://archives.postgresql.org/pgsql-committers/2009-06/msg00259.php
> in response to this problem:
> http://archives.postgresql.org/pgsql-hackers/2009-06/msg01186.php
>
> We need a better idea.

Rereading your diagnosis of Merlin Moncure's original problem I'm a
bit puzzled. Why do we have to rerun the final function when we rescan
the hash table? Surely the logical thing to do is to store the final
value in the hash table with some flag saying that value has been
finalized rather than to reexecute the final function every time it's
rescanned.

I'm not sure that really solves anything though since there's no
guarantee that the first scan was finished when it's reset so there
could still be unfinalized elements in the hash table. Would it be too
costly to finalize all the hash elements in a single pass before
returning any?

--
greg
http://mit.edu/~gsstark/resume.pdf

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jaime Casanova 2009-07-22 23:29:23 Re: Determining client_encoding from client locale
Previous Message Tom Lane 2009-07-22 21:35:37 Re: Aggregate-function space leakage