pgsql: Fix portability problem in pgbench.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix portability problem in pgbench.
Дата
Msg-id E1gmhvB-0006Eh-E3@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix portability problem in pgbench.

The pgbench regression test supposed that srandom() with a specific value
would result in deterministic output from random(), as required by POSIX.
It emerges however that OpenBSD is too smart to be constrained by mere
standards, so their random() emits nondeterministic output anyway.
While a workaround does exist, what seems like a better fix is to stop
relying on the platform's srandom()/random() altogether, so that what
you get from --random-seed=N is not merely deterministic but platform
independent.  Hence, use a separate pg_jrand48() random sequence in
place of random().

Also adjust the regression test case that's supposed to detect
nondeterminism so that it's more likely to detect it; the original
choice of random_zipfian parameter tended to produce the same output
all the time even if the underlying behavior wasn't deterministic.

In passing, improve pgbench's docs about random_zipfian().

Back-patch to v11 where this code was introduced.

Fabien Coelho and Tom Lane

Discussion: https://postgr.es/m/4615.1547792324@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e6c3ba7fbfd59ceabcf9bdaf52d71b44831b09d2

Modified Files
--------------
doc/src/sgml/ref/pgbench.sgml                | 19 +++++++---
src/bin/pgbench/pgbench.c                    | 54 +++++++++++++++++++---------
src/bin/pgbench/t/001_pgbench_with_server.pl | 14 ++++----
3 files changed, 58 insertions(+), 29 deletions(-)


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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: pgsql: Detach constraints when partitions are detached
Следующее
От: Alvaro Herrera
Дата:
Сообщение: pgsql: Fix droppability of constraints upon partition detach