<term><varname>GEQO_EFFORT</varname> (<type>integer</type>)</term>
<term><varname>GEQO_GENERATIONS</varname> (<type>integer</type>)</term>
<term><varname>GEQO_POOL_SIZE</varname> (<type>integer</type>)</term>
- <term><varname>GEQO_RANDOM_SEED</varname> (<type>integer</type>)</term>
<term><varname>GEQO_SELECTION_BIAS</varname> (<type>floating point</type>)</term>
<listitem>
<para>
is roughly proportional to the sum of pool size and generations.
The selection bias is the selective pressure within the
population. Values can be from 1.50 to 2.00; the latter is the
- default. The random seed can be set to get reproducible results
- from the algorithm. If it is set to -1 then the algorithm
- behaves non-deterministically.
+ default.
</para>
</listitem>
</varlistentry>
int Geqo_effort;
int Geqo_generations;
double Geqo_selection_bias;
-int Geqo_random_seed;
static int gimme_pool_size(int nr_rel);
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);
&Geqo_generations,
0, 0, INT_MAX, NULL, NULL
},
- {
- {"geqo_random_seed", PGC_USERSET, QUERY_TUNING_GEQO,
- gettext_noop("Can be set to get reproducible results from the algorithm"),
- gettext_noop("If it is set to -1 then the algorithm behaves "
- "non-deterministically")
- },
- &Geqo_random_seed,
- -1, INT_MIN, INT_MAX, NULL, NULL
- },
{
{"deadlock_timeout", PGC_SIGHUP, LOCK_MANAGEMENT,
#geqo_generations = 0
#geqo_pool_size = 0 # default based on tables in statement,
# range 128-1024
-#geqo_random_seed = -1 # -1 = use variable seed
#geqo_selection_bias = 2.0 # range 1.5-2.0
# - Other Planner Options -
"geqo_effort",
"geqo_generations",
"geqo_pool_size",
- "geqo_random_seed",
"geqo_selection_bias",
"geqo_threshold",
"join_collapse_limit",
#define MIN_GEQO_SELECTION_BIAS 1.5
#define MAX_GEQO_SELECTION_BIAS 2.0
-extern int Geqo_random_seed; /* or negative to use current time */
-
/* routines in geqo_main.c */
extern RelOptInfo *geqo(Query *root, int number_of_rels, List *initial_rels);