Re: array sort for varchar arrays? - Mailing list pgsql-general

From Matthew Dennis
Subject Re: array sort for varchar arrays?
Date
Msg-id e94d85500807091225j630bf00cm15fa20ab98699b1f@mail.gmail.com
Whole thread Raw
In response to Re: array sort for varchar arrays?  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Responses Re: array sort for varchar arrays?
List pgsql-general
On Wed, Jul 9, 2008 at 12:28 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
2008/7/8 Matthew Dennis <mdennis@merfer.net>:
> I'm likely overlooking something, but I can't seem to find a function to
> sort a varchar array.  Something like "select sort('{y,z,x}'::varchar[])" =>
> {'x','y','z'}.
>

create function sort(anyarray)
returns anyarray as $$
select array(select $1[i] from generate_series(array_lower($1,1),
array_upper($1,1)) g(i) order by 1)
$$ language sql strict immutable;

postgres=# select sort(array[1,2,3,1]);
  sort
-----------
 {1,1,2,3}
(1 row)

postgres=# select sort(array['a','b','c','a']);
  sort
-----------
 {a,a,b,c}
(1 row)

Regards
Pavel Stehule

Thanks Pavel, I ended up writing a method pretty much like that.  It seems like that would be inefficient though (works ok for my use though).  Does anyone know if there are future plans to add an array_sort method?

pgsql-general by date:

Previous
From: Garry Saddington
Date:
Subject: regexp help
Next
From: "Scott Marlowe"
Date:
Subject: Re: Table X its full, what can i do now?