]> granicus.if.org Git - postgresql/commit
pgbench: introduce a RandomState struct
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 16 Nov 2018 18:43:40 +0000 (15:43 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 16 Nov 2018 19:34:13 +0000 (16:34 -0300)
commit409231919443984635b7ae9b7e2e261ab984eb1e
tree67e613e870aad70295936a78f403fd35b3253f7e
parenta7aa608e0f5910f9c73a530a66142c08e3d9043a
pgbench: introduce a RandomState struct

This becomes useful when used to retry a transaction after a
serialization error or deadlock abort.  (We don't yet have that feature,
but this is preparation for it.)

While at it, use separate random state for thread administratrivia such
as deciding which script to run, how long to delay for throttling, or
whether to log a message when sampling; this not only makes these tasks
independent of each other, but makes the actual thread run
deterministic.

Author: Marina Polyakova
Reviewed-by: Fabien Coelho
Discussion: https://postgr.es/m/72a0d590d6ba06f242d75c2e641820ec@postgrespro.ru
src/bin/pgbench/pgbench.c