On Wed, Jul 22, 2009 at 10:14 PM, Tom Lane<t...@sss.pgh.pa.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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers