| From: | "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> |
|---|---|
| To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Proposal: generate_iterator functions |
| Date: | 2007-10-18 05:20:29 |
| Message-ID: | [email protected] |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hello
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;
-- multidimensional
create function generate_iterator(anyarray, integer)
returns setof integer
as $$
select generate_series(array_lower($1,$2),
array_upper($1,$2)) g(i)
$$ language sql;
It can be internal function, not only shortcut for generate_series
sample:
create function array_sort(anyarray)
returns anyarray
as $$
select array(select $1[i] from generate_iterator($1) order by 1)
$$ language sql;
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2007-10-18 05:34:09 | Re: Release notes introductory text |
| Previous Message | Bruce Momjian | 2007-10-18 05:07:03 | Re: max_prepared_transactions default ... why 5? |