Re: array_to_set functions
От | Guy Fraser |
---|---|
Тема | Re: array_to_set functions |
Дата | |
Msg-id | 1186083078.21121.70.camel@sigurd.incentre.net обсуждение исходный текст |
Ответ на | Re: array_to_set functions ("Merlin Moncure" <mmoncure@gmail.com>) |
Ответы |
Re: array_to_set functions
|
Список | pgsql-general |
On Wed, 2007-08-01 at 07:14 +0530, Merlin Moncure wrote: > On 8/1/07, Decibel! <decibel@decibel.org> wrote: > > David Fetter and I just came up with these, perhaps others will find > > them useful: > > > > CREATE OR REPLACE FUNCTION array_to_set(anyarray, int) RETURNS SETOF anyelement LANGUAGE SQL AS $$ > > SELECT $1[i] from generate_series(array_lower($1, $2), array_upper($1, $2)) i > > $$; > > CREATE OR REPLACE FUNCTION array_to_set(anyarray) RETURNS SETOF anyelement LANGUAGE SQL AS $$ > > SELECT array_to_set($1, 1) > > $$; > > very nice, although IMO there is a strong justification for these > functions to be in core and written in C for efficiency (along with > array_accum, which I have hand burn from copying and pasting out of > the documentation). > > merlin > Excellent timing guys. :^) I was trying to build a function to list the items of an array, but ran into problems and was going to post what I had been working on. Your functions work great. In case you don't have the function to generate an array from a set here is one I have been using : CREATE AGGREGATE array_accum ( BASETYPE = anyelement, SFUNC = array_append, STYPE = anyarray, INITCOND = '{}' ); > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > -- Guy Fraser Network Administrator The Internet Centre 1-888-450-6787 (780)450-6787
В списке pgsql-general по дате отправления: