Hello postgres=# CREATE OR REPLACE FUNCTION public.reduce_dim(anyarray) RETURNS SETOF anyarray LANGUAGE plpgsql AS $function$ DECLARE s $1%type; BEGIN FOREACH s SLICE 1 IN ARRAY $1 LOOP RETURN NEXT s; END LOOP; RETURN; END; $function$; CREATE FUNCTION
postgres=# select reduce_dim(array[array[1, 2], array[2, 3]]); reduce_dim ------------ {1,2} {2,3} (2 rows) Regards Pavel Stehule 2013/11/28 Zev Benjamin <zev-pg...@strangersgate.com> > It appears that unnest, when called on a multi-dimensional array, > effectively flattens the array first. For example: > > => select * from unnest(array[array[1, 2], array[2, 3]]); > unnest > -------- > 1 > 2 > 2 > 3 > (4 rows) > > while I would have expect something like the following: > > => select * from unnest(array[array[1, 2], array[2, 3]]); > unnest > -------- > {1, 2} > {2, 3} > (2 rows) > > Is there any way to get the latter behavior? > > > Zev > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >