array_agg and array_accum (patch)
От | Jeff Davis |
---|---|
Тема | array_agg and array_accum (patch) |
Дата | |
Msg-id | 1225045937.4434.21.camel@localhost.localdomain обсуждение исходный текст |
Ответы |
Re: array_agg and array_accum (patch)
Re: array_agg and array_accum (patch) Re: array_agg and array_accum (patch) |
Список | pgsql-hackers |
Here is a patch to support two aggregate functions: 1) ARRAY_AGG() -- SQL 2008 standard behavior, returns NULL on no input, and skips NULL inputs. 2) ARRAY_ACCUM() -- Returns empty array on no input, and includes NULL inputs. These accumulate the result in a memory context that lives across calls to the state function, so it's reasonably efficient. On my old laptop it takes about 5s to generate an array of 1M elements -- not great, but at least it's linear. Although array_agg is the standard behavior, array_accum is important because otherwise you always lose the NULLs, and that's difficult to work around even with COALESCE. I added them as new native functions because ARRAY_AGG is in the standard, but if others think they should live elsewhere that's fine. I think that they are generally pretty useful functions for people using arrays. This patch is contributed by Truviso. Regards, Jeff Davis
Вложения
В списке pgsql-hackers по дате отправления: