Re: some random() clarification needed

Поиск
Список
Период
Сортировка
От Marc Millas
Тема Re: some random() clarification needed
Дата
Msg-id CADX_1absMjCR1jxZwXxr1-x9s6s+kigjNje2TzLB1vHo_S7MOQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: some random() clarification needed  (David Rowley <dgrowleyml@gmail.com>)
Список pgsql-general
Thanks! 
makes it clearer :-)
its not that obvious to guess the consequences of the "volatile" behaviour.
regards,


Marc MILLAS
Senior Architect
+33607850334



On Wed, Jul 15, 2020 at 1:53 AM David Rowley <dgrowleyml@gmail.com> wrote:
On Wed, 15 Jul 2020 at 04:01, Marc Millas <marc.millas@mokadb.com> wrote:
> your answer helps me understand my first problem.
> so, I rewrote a simple loop so as to avoid the "volatile" behaviour.

Not sure what you're trying to do with the plpgsql, but you can just
escape the multiple evaluations by putting the volatile function in a
sub-select with no FROM clause.

SELECT ... FROM ... WHERE id = (SELECT ceiling(random()*2582));

Or the more traditional way to get a random row is:

SELECT ... FROM ... WHERE id BETWEEN 0 AND 2585 ORDER BY random() LIMIT 1;

David

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

Предыдущее
От: Eudald Valcàrcel Lacasa
Дата:
Сообщение: Re: Issue executing query from container
Следующее
От: Samarendra Sahoo
Дата:
Сообщение: How to enable TDE on Postgresql 12.3 deployed using Kubernetes