"Merlin Moncure" <merlin.moncure@rcsonline.com> writes:
> The windows random number of generator (a port of lrand48 in random.c)
> seems a little weak. It seems to only offer about 16 bits of precision.
> Maybe there is a bug in the implementation?
> esp=# select count(*) from (select distinct random() from
> generate_series(1,1000000)) q;
> count
> -------
> 65559
> (1 row)
That's pretty awful, all right. I get numbers like this on two
different Unix machines:
regression=# select count(*) from (select distinct random() from generate_series(1,1000000)) q;
count
--------
999769
(1 row)
postgres=# select count(*) from (select distinct random() from
postgres(# generate_series(1,1000000)) q;
count
--------
999787
(1 row)
Anyone care to burrow into the code and see what its problem is?
regards, tom lane