mirror of
https://github.com/postgres/postgres.git
synced 2025-05-06 19:59:18 +03:00
Use GEQO if _use_geqo_ is TRUE and # of relations is >= _use_geqo_rels_
(both are settable via SET geqo TO ...).
This commit is contained in:
parent
cda886fd06
commit
05404562fb
@ -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;
|
|||||||
#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)
|
|||||||
* <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 */
|
||||||
|
|
||||||
/*******************************************
|
/*******************************************
|
||||||
|
Loading…
x
Reference in New Issue
Block a user