array_agg (was Re: The Axe list)

Поиск
Список
Период
Сортировка
От Ian Caulfield
Тема array_agg (was Re: The Axe list)
Дата
Msg-id 27bbfebe0810151633q1aac3ea8v864bea997f3cc5ec@mail.gmail.com
обсуждение исходный текст
Ответы Re: array_agg (was Re: The Axe list)  ("Robert Haas" <robertmhaas@gmail.com>)
Re: array_agg (was Re: The Axe list)  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-hackers
2008/10/15 Ian Caulfield <ian.caulfield@gmail.com>:
> I started to look at implementing array_agg by making the existing
> intagg stuff more generic

... and here's what I've come up with.

I've currently implemented this as a contrib module to make it quicker
to develop/test.

The aggregate uses the same basic approach to memory management as
intagg, but instead of putting data into the lower bound, an extra
structure is placed just before the data, after the null bitmap. This
holds a copy of the typlen, typbyval and typalign, as well as a
pointer to the next (unaligned) free data byte. In order to avoid
breakage due to initial values being set in another aggregate, the
transition function will reject an array value where extra padding
isn't present before the data values.

The ORDER BY clause of array_agg isn't implemented - it seems that
this would work best as a generic solution to pass ordered data to
aggregates, and is beyond my ability to implement currently.

Ian

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: SlruPhysicalReadPage
Следующее
От: KaiGai Kohei
Дата:
Сообщение: Re: Updates of SE-PostgreSQL 8.4devel patches