Обсуждение: unnest with generate_subscripts and same array
Can’t speak to guarantees but arrays, unlike tuples / rows, are inherently ordered and so any operation that decomposes/iterates them will do so in the internal order.
So, yes.
(without looking at code)
But, since you do not have an “ORDER BY on table_with_array_col” so the order in which rows are returned from table_with_array_col is undefined. Better to write:
SELECT unnest(array_col), generate_subscripts(array_col)
FROM (
SELECT array_col FROM table_with_array_col ORDER BY somefield
) sub
David J.
From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Carlos Fuentes
Sent: Thursday, May 26, 2011 8:17 PM
To: pgsql-general@postgresql.org
Subject: [GENERAL] unnest with generate_subscripts and same array
Hello,
Given that these are the only one array_col in play, is
select unnest(array_col), generate_subscripts(array_col) from table_with_array_col ;
guaranteed to gave the subscripts match the array element? In all the testing I've done it's worked, but I don't know if I was just lucky :)
Thanks,
-Carlos Fuentes
On Thu, May 26, 2011 at 05:17:06PM -0700, Carlos Fuentes wrote: > Hello, > Given that these are the only one array_col in play, is > select unnest(array_col), generate_subscripts(array_col) from > table_with_array_col ; > guaranteed to gave the subscripts match the array element? In all the > testing I've done it's worked, but I don't know if I was just lucky :) That would be more of the SQL standard UNNEST, with the WITH ORDINALITY clause. We don't have it yet :/ Cheers, David. -- David Fetter <david@fetter.org> http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fetter@gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate