Re: The Axe list
| От | Robert Haas |
|---|---|
| Тема | Re: The Axe list |
| Дата | |
| Msg-id | 603c8f070810101826o678a71aamadcd2f9615b7d481@mail.gmail.com обсуждение исходный текст |
| Ответ на | The Axe list (Josh Berkus <josh@agliodbs.com>) |
| Ответы |
Re: The Axe list
|
| Список | pgsql-hackers |
> intagg: the aggregation function has been obsolete since 7.4 because
> standard array functionality supports the same. intagg has a nice
> equivalent for UNROLL, but it only works for arrays of INT, and only
> one-dimensional arrays. Has not been updated since 2001.
I think this one can be dropped. The definition of a general
array_accum() is very easy, and supplied in the docs:
CREATE AGGREGATE array_accum (anyelement)
( sfunc = array_append, stype = anyarray, initcond = '{}'
);
A general one-dimensional array enumerator is equally easy to define,
though not in the docs (there is a two-dimensional array enumerator
called unnest2 under generate_subscripts):
CREATE OR REPLACE FUNCTION array_enum(anyarray) RETURNS SETOF anyelement AS
$$ SELECT $1[i] FROM generate_subscripts($1,1) i
$$ LANGUAGE sql;
With a little more work you could even (crazy thought) add some error checking.
It would probably be helpful if the generate_subscripts and array
documentation were cross-referenced a bit better. There's no
indication on the array page that generate_subscripts() is out there,
and it's clearly both very useful and array-related.
...Robert
В списке pgsql-hackers по дате отправления: