1/*-------------------------------------------------------------------------
4 * prototypes for various files in optimizer/geqo
6 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
9 * src/include/optimizer/geqo.h
11 *-------------------------------------------------------------------------
15 =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
16 * Martin Utesch * Institute of Automatic Control *
17 = = University of Mining and Technology =
18 * utesch@aut.tu-freiberg.de * Freiberg, Germany *
19 =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
36/* choose one recombination mechanism here */
49 * Configuration options
51 * If you change these, update backend/utils/misc/postgresql.conf.sample
56 #define DEFAULT_GEQO_EFFORT 5
57 #define MIN_GEQO_EFFORT 1
58 #define MAX_GEQO_EFFORT 10
68 #define DEFAULT_GEQO_SELECTION_BIAS 2.0
69 #define MIN_GEQO_SELECTION_BIAS 1.5
70 #define MAX_GEQO_SELECTION_BIAS 2.0
76 * Private state for a GEQO run --- accessible via GetGeqoPrivateData
87 /* headers must be C++-compliant, so the cast is required here */
92/* routines in geqo_main.c */
94 int number_of_rels,
List *initial_rels);
96/* routines in geqo_eval.c */
static void * GetPlannerInfoExtensionState(PlannerInfo *root, int extension_id)
static GeqoPrivateData * GetGeqoPrivateData(PlannerInfo *root)
Cost geqo_eval(PlannerInfo *root, Gene *tour, int num_gene)
PGDLLIMPORT int Geqo_pool_size
PGDLLIMPORT int Geqo_generations
PGDLLIMPORT int Geqo_planner_extension_id
RelOptInfo * geqo(PlannerInfo *root, int number_of_rels, List *initial_rels)
PGDLLIMPORT double Geqo_seed
RelOptInfo * gimme_tree(PlannerInfo *root, Gene *tour, int num_gene)
PGDLLIMPORT double Geqo_selection_bias
PGDLLIMPORT int Geqo_effort
pg_prng_state random_state