1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-25 01:02:05 +03:00

Merge in GEQO Optimizer

From: "Martin S. Utesch" <utesch@aut.tu-freiberg.de>
This commit is contained in:
Marc G. Fournier
1997-02-19 12:59:07 +00:00
parent 34f35a4c19
commit 29138eeb3c
29 changed files with 3823 additions and 3 deletions

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.4 1996/11/10 03:00:55 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/allpaths.c,v 1.5 1997/02/19 12:58:01 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@ -30,6 +30,9 @@
#include "commands/creatinh.h"
#include "optimizer/geqo_gene.h"
#include "optimizer/geqo.h"
static void find_rel_paths(Query *root, List *rels);
static List *find_join_paths(Query *root, List *outer_rels, int levels_left);
@ -158,6 +161,19 @@ find_join_paths(Query *root, List *outer_rels, int levels_left)
List *new_rels;
Rel *rel;
/*******************************************
* genetic query optimizer entry point *
* <utesch@aut.tu-freiberg.de> *
*******************************************/
#ifdef GEQO
return lcons(geqo(root), NIL); /* returns *one* Rel, so lcons it */
#endif
/*******************************************
* rest will be deprecated in case of GEQO *
*******************************************/
/*
* Determine all possible pairs of relations to be joined at this level.
* Determine paths for joining these relation pairs and modify 'new-rels'