summaryrefslogtreecommitdiff
path: root/src/include/optimizer
diff options
context:
space:
mode:
authorTom Lane2003-01-25 23:10:30 +0000
committerTom Lane2003-01-25 23:10:30 +0000
commit9f5f2124754ccd605671bfe952c220b46a0e730b (patch)
treee6be6eab43ffe733b9c785d62cec74497098c694 /src/include/optimizer
parent15ab7a87206d657a4182d2932970384d540004d0 (diff)
Allow the planner to collapse explicit inner JOINs together, rather than
necessarily following the JOIN syntax to develop the query plan. The old behavior is still available by setting GUC variable JOIN_COLLAPSE_LIMIT to 1. Also create a GUC variable FROM_COLLAPSE_LIMIT to control the similar decision about when to collapse sub-SELECT lists into their parent lists. (This behavior existed already, but the limit was always GEQO_THRESHOLD/2; now it's separately adjustable.)
Diffstat (limited to 'src/include/optimizer')
-rw-r--r--src/include/optimizer/paths.h9
-rw-r--r--src/include/optimizer/prep.h5
2 files changed, 6 insertions, 8 deletions
diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h
index 76285bac408..8b4f701744e 100644
--- a/src/include/optimizer/paths.h
+++ b/src/include/optimizer/paths.h
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: paths.h,v 1.64 2003/01/24 03:58:43 tgl Exp $
+ * $Id: paths.h,v 1.65 2003/01/25 23:10:30 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -18,16 +18,11 @@
#include "nodes/relation.h"
-/* default GEQO threshold (default value for geqo_rels) */
-/* If you change this, update backend/utils/misc/postgresql.sample.conf */
-#define DEFAULT_GEQO_RELS 11
-
-
/*
* allpaths.c
*/
extern bool enable_geqo;
-extern int geqo_rels;
+extern int geqo_threshold;
extern RelOptInfo *make_one_rel(Query *root);
extern RelOptInfo *make_fromexpr_rel(Query *root, FromExpr *from);
diff --git a/src/include/optimizer/prep.h b/src/include/optimizer/prep.h
index 17ecb4d593f..458539a8174 100644
--- a/src/include/optimizer/prep.h
+++ b/src/include/optimizer/prep.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: prep.h,v 1.34 2003/01/20 18:55:05 tgl Exp $
+ * $Id: prep.h,v 1.35 2003/01/25 23:10:30 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -20,6 +20,9 @@
/*
* prototypes for prepjointree.c
*/
+extern int from_collapse_limit;
+extern int join_collapse_limit;
+
extern Node *pull_up_IN_clauses(Query *parse, Node *node);
extern Node *pull_up_subqueries(Query *parse, Node *jtnode,
bool below_outer_join);