Commit 05404562 authored by Vadim B. Mikheev's avatar Vadim B. Mikheev

Use GEQO if _use_geqo_ is TRUE and # of relations is >= _use_geqo_rels_

(both are settable via SET geqo TO ...).
parent cda886fd
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.7 1997/06/01 02:55:44 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.8 1997/06/02 11:14:40 vadim Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -38,6 +38,7 @@ bool _use_geqo_ = true; ...@@ -38,6 +38,7 @@ bool _use_geqo_ = true;
#else #else
bool _use_geqo_ = false; bool _use_geqo_ = false;
#endif #endif
int32 _use_geqo_rels_ = GEQO_RELS;
static void find_rel_paths(Query *root, List *rels); static void find_rel_paths(Query *root, List *rels);
...@@ -173,7 +174,7 @@ find_join_paths(Query *root, List *outer_rels, int levels_left) ...@@ -173,7 +174,7 @@ find_join_paths(Query *root, List *outer_rels, int levels_left)
* <utesch@aut.tu-freiberg.de> * * <utesch@aut.tu-freiberg.de> *
*******************************************/ *******************************************/
if ( (_use_geqo_) || length(root->base_relation_list_) >= GEQO_RELS ) if ( (_use_geqo_) && length(root->base_relation_list_) >= _use_geqo_rels_ )
return lcons(geqo(root), NIL); /* returns *one* Rel, so lcons it */ return lcons(geqo(root), NIL); /* returns *one* Rel, so lcons it */
/******************************************* /*******************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment