Re: unnest multirange, returned order
От | Laurenz Albe |
---|---|
Тема | Re: unnest multirange, returned order |
Дата | |
Msg-id | 2bad53942920d2e501661af4cd49d6644a22b801.camel@cybertec.at обсуждение исходный текст |
Ответ на | unnest multirange, returned order (PG Doc comments form <noreply@postgresql.org>) |
Ответы |
Re: unnest multirange, returned order
|
Список | pgsql-docs |
On Mon, 2023-10-02 at 18:42 +0000, PG Doc comments form wrote: > Page: https://www.postgresql.org/docs/16/functions-range.html > > The doc says: > * unnest ( anymultirange ) → setof anyrange > * Expands a multirange into a set of ranges. The ranges are read out in > storage order (ascending). > > What is storage order ? > > At first I thought that it was the order in which the different ranges are > inserted in the internal data structure. However, the following sort of > shows that it is not: > ``` > postgres=# select unnest('{[1,4), [8,10)}'::int4multirange + '{[-5,-3)}' - > '{[2,3)}') ; > unnest > --------- > [-5,-3) > [1,2) > [3,4) > [8,10) > (4 lignes) > ``` > Whatever I try, it always return in range order instead of "storage order". I'd say that the storag order is the order in which PostgreSQL stores multiranges internally: SELECT '{[100,200),[-100,-50),[-1,2)}'::int4multirange; int4multirange ═══════════════════════════════ {[-100,-50),[-1,2),[100,200)} (1 row) Yours, Laurenz Albe
В списке pgsql-docs по дате отправления: