summaryrefslogtreecommitdiff
path: root/src/include/optimizer/geqo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/optimizer/geqo.h')
-rw-r--r--src/include/optimizer/geqo.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/include/optimizer/geqo.h b/src/include/optimizer/geqo.h
index fc06006fd3..39226a7c7c 100644
--- a/src/include/optimizer/geqo.h
+++ b/src/include/optimizer/geqo.h
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/optimizer/geqo.h,v 1.44 2009/01/01 17:24:00 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/optimizer/geqo.h,v 1.45 2009/07/16 20:55:44 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -46,7 +46,7 @@
/*
* Configuration options
*
- * If you change these, update backend/utils/misc/postgresql.sample.conf
+ * If you change these, update backend/utils/misc/postgresql.conf.sample
*/
extern int Geqo_effort; /* 1 .. 10, knob for adjustment of defaults */
@@ -64,16 +64,17 @@ extern double Geqo_selection_bias;
#define MIN_GEQO_SELECTION_BIAS 1.5
#define MAX_GEQO_SELECTION_BIAS 2.0
+extern double Geqo_seed; /* 0 .. 1 */
+
/*
- * Data structure to encapsulate information needed for building plan trees
- * (i.e., geqo_eval and gimme_tree).
+ * Private state for a GEQO run --- accessible via root->join_search_private
*/
typedef struct
{
- PlannerInfo *root; /* the query we are planning */
- List *initial_rels; /* the base relations */
-} GeqoEvalData;
+ List *initial_rels; /* the base relations we are joining */
+ unsigned short random_state[3]; /* state for erand48() */
+} GeqoPrivateData;
/* routines in geqo_main.c */
@@ -81,8 +82,7 @@ extern RelOptInfo *geqo(PlannerInfo *root,
int number_of_rels, List *initial_rels);
/* routines in geqo_eval.c */
-extern Cost geqo_eval(Gene *tour, int num_gene, GeqoEvalData *evaldata);
-extern RelOptInfo *gimme_tree(Gene *tour, int num_gene,
- GeqoEvalData *evaldata);
+extern Cost geqo_eval(PlannerInfo *root, Gene *tour, int num_gene);
+extern RelOptInfo *gimme_tree(PlannerInfo *root, Gene *tour, int num_gene);
#endif /* GEQO_H */