Tom Lane wrote:
> I think that might be a good idea --- it'd reduce the cross-platform
> variability of the results quite a bit, I suspect. random() is not
> to be trusted everywhere, but I think erand48 is pretty much the same
> wherever it exists at all (and src/port/ provides it elsewhere).
>
Given that pgbench will run with threads in some multi-worker
configurations, after some more portability research I think odds are
good we'd get nailed by
http://sourceware.org/bugzilla/show_bug.cgi?id=10320 : "erand48
implementation not thread safe but POSIX says it should be". The AIX
docs have a similar warning on them, so who knows how many versions of
that library have the same issue.
Maybe we could make sure the one in src/port/ is thread safe and make
sure pgbench only uses it. This whole area continues to be messy enough
that I think the patch needs to brew for another CF before it will all
be sorted out properly. I'll mark it accordingly and can pick this back
up later.
--
Greg Smith 2ndQuadrant US greg@2ndQuadrant.com Baltimore, MD