Unnest () e ordem de classificação paralelas no PostgreSQL
Eu entendo que usando
SELECT unnest(ARRAY[5,3,9]) as id
sem umORDER BY
, a ordem do conjunto de resultados não é garantida. Eu poderia, por exemplo, obter:
id
--
3
5
9
Mas e a seguinte solicitação:
SELECT
unnest(ARRAY[5,3,9]) as id,
unnest(ARRAY(select generate_series(1, array_length(ARRAY[5,3,9], 1)))) as idx
ORDER BY idx ASC
É garantido que os 2unnest()
chamadas (que têm o mesmo tamanho) se desenrolam em paralelo e que o índiceidx
de fato corresponderá à posição do item na matriz?
Estou usando o PostgreSQL 9.3.3.