Re: BUG #15800: Order by random in functions

Поиск
Список
Период
Сортировка
От Andrew Gierth
Тема Re: BUG #15800: Order by random in functions
Дата
Msg-id 87r292g58w.fsf@news-spur.riddles.org.uk
обсуждение исходный текст
Ответ на BUG #15800: Order by random in functions  (PG Bug reporting form <noreply@postgresql.org>)
Ответы Re: BUG #15800: Order by random in functions  (Alessio Gennari <alessio.gennari78@gmail.com>)
Список pgsql-bugs
>>>>> "PG" == PG Bug reporting form <noreply@postgresql.org> writes:

 PG> in version 9.5 (select version(): PostgreSQL 9.5.12 on
 PG> x86_64-pc-linux-gnu (Debian 9.5.12-1.pgdg80+1), compiled by gcc
 PG> (Debian 4.9.2-10+deb8u1) 4.9.2, 64-bit) this statement returns
 PG> element (id_card_type) randomly ordered:

 PG> select jsonb_array_elements('[...]')...order by random()

 PG> While in version 9.6 (PostgreSQL 9.6.12 on x86_64-pc-linux-gnu,
 PG> compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit)
 PG> and above (I tested it in Postgres 10.8) the query return elements
 PG> not ordered but in the same sequence as it is in json array.

 PG> Is it a bug or an expected behavior?

Expected behavior, though I'm not sure it's adequately documented.

The preferred way to do this is:

SELECT a.value->>'id_card_type'
  FROM jsonb_array_elements('[...]') a
 ORDER BY random();

which will randomize the order regardless of postgresql version.

-- 
Andrew (irc:RhodiumToad)



В списке pgsql-bugs по дате отправления:

Предыдущее
От: PG Bug reporting form
Дата:
Сообщение: BUG #15801: pg_stat_database update stats_reset only by pg_stat_reset
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: BUG #15801: pg_stat_database update stats_reset only bypg_stat_reset