mirror of
https://github.com/postgres/postgres.git
synced 2025-07-09 22:41:56 +03:00
Remove geqo_random_seed parameter. Having geqo reset the global random()
sequence every time it's called is bogus --- it interferes with user control over the seed, and actually decreases randomness overall (because a seed based on time(NULL) is pretty predictable). If you really want a reproducible result from geqo, do 'set seed = 0' before planning a query.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/geqo/geqo_main.c,v 1.39 2003/08/12 18:23:20 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/geqo/geqo_main.c,v 1.40 2003/09/07 15:26:52 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -41,7 +41,6 @@ int Geqo_pool_size;
|
||||
int Geqo_effort;
|
||||
int Geqo_generations;
|
||||
double Geqo_selection_bias;
|
||||
int Geqo_random_seed;
|
||||
|
||||
|
||||
static int gimme_pool_size(int nr_rel);
|
||||
@ -96,13 +95,6 @@ geqo(Query *root, int number_of_rels, List *initial_rels)
|
||||
number_generations = gimme_number_generations(pool_size, Geqo_effort);
|
||||
status_interval = 10;
|
||||
|
||||
/* seed random number generator */
|
||||
/* XXX why is this done every time around? */
|
||||
if (Geqo_random_seed >= 0)
|
||||
srandom((unsigned int) Geqo_random_seed);
|
||||
else
|
||||
srandom((unsigned int) time(NULL));
|
||||
|
||||
/* allocate genetic pool memory */
|
||||
pool = alloc_pool(pool_size, number_of_rels);
|
||||
|
||||
|
Reference in New Issue
Block a user