I wrote: > Andrew Dunstan <and...@dunslane.net> writes: >> It appears on Googling a bit that the erand48() is buggy in that it >> requires the seed to have been initialized with srand48() or it will >> constantly return 0.0.
> Huh, and that sends us into an infinite loop? I'll take a look at that. > Even though it's surely nonrandom, it doesn't seem like pathological > behavior of the RNG should wedge us completely. The answer is that a constant RNG result sends this bit of geqo_selection() into a tight loop: int first, second; first = linear(root, pool->size, bias); second = linear(root, pool->size, bias); if (pool->size > 1) { while (first == second) second = linear(root, pool->size, bias); } Not sure if it's worth trying to do something about that, or exactly what we'd do anyway. Even if we hacked this up somehow, a constant RNG result would pretty much break GEQO for any useful purpose. So it could be argued that having the regression tests fail here is a good thing... regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers