summaryrefslogtreecommitdiff
path: root/src/backend/optimizer/geqo/geqo_eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/geqo/geqo_eval.c')
-rw-r--r--src/backend/optimizer/geqo/geqo_eval.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/backend/optimizer/geqo/geqo_eval.c b/src/backend/optimizer/geqo/geqo_eval.c
index 614ca47c84..1c70e4bcd8 100644
--- a/src/backend/optimizer/geqo/geqo_eval.c
+++ b/src/backend/optimizer/geqo/geqo_eval.c
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: geqo_eval.c,v 1.47 2000/02/07 04:40:58 tgl Exp $
+ * $Id: geqo_eval.c,v 1.48 2000/02/15 20:49:14 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -96,8 +96,13 @@ geqo_eval(Query *root, Gene *tour, int num_gene)
/* construct the best path for the given combination of relations */
joinrel = gimme_tree(root, tour, 0, num_gene, NULL);
- /* compute fitness */
- fitness = joinrel->cheapestpath->path_cost;
+ /*
+ * compute fitness
+ *
+ * XXX geqo does not currently support optimization for partial
+ * result retrieval --- how to fix?
+ */
+ fitness = joinrel->cheapest_total_path->total_cost;
/* restore join_rel_list */
root->join_rel_list = savelist;
@@ -155,8 +160,8 @@ gimme_tree(Query *root, Gene *tour, int rel_count, int num_gene, RelOptInfo *old
rel_count++;
Assert(length(new_rel->relids) == rel_count);
- /* Find and save the cheapest path for this rel */
- set_cheapest(new_rel, new_rel->pathlist);
+ /* Find and save the cheapest paths for this rel */
+ set_cheapest(new_rel);
return gimme_tree(root, tour, rel_count, num_gene, new_rel);
}