Re: Proposal: generate_iterator functions

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Proposal: generate_iterator functions
Дата
Msg-id 162867790710180545m1d812dd8tf7d966fd7904c54@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Proposal: generate_iterator functions  ("Merlin Moncure" <mmoncure@gmail.com>)
Список pgsql-hackers
2007/10/18, Merlin Moncure <mmoncure@gmail.com>:
> On 10/18/07, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> > this function can help with array's iteration.
> >
> > create function generate_iterator(anyarray)
> > returns setof integer
> > as $$
> > select i
> >   from generate_series(array_lower($1,1),
> >                                        array_upper($1,1)) g(i)
> > $$ language sql;
>
> There was a very similar proposal a little while back (google:
> array_to_set).  I think I like those names better since you are
> returning a set, not an iterator :-).  Also, this should be internal
> as you suggest (there is an undocumented builtin that already does
> this, _pg_expandarray).
>
> merlin
>
one sample:
create or replace function array_unpack2(anyarray)
returns setof anyelement as $$ select $1[i][j]    from generate_iterator($1,1) i,             generate_iterator($1,2)
j$$
language sql;

postgres=# select array_unpack2(ARRAY[[10,11,12],[13,14,15]]);array_unpack2
---------------           10           11           12           13           14           15
(6 rows)


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

Предыдущее
От: "Pavel Stehule"
Дата:
Сообщение: Re: Proposal: generate_iterator functions
Следующее
От: Stephen Frost
Дата:
Сообщение: Re: max_prepared_transactions default ... why 5?