aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/nodes/relation.h4
-rw-r--r--src/include/optimizer/geqo_paths.h28
-rw-r--r--src/include/optimizer/internal.h4
-rw-r--r--src/include/optimizer/paths.h15
-rw-r--r--src/include/storage/proc.h13
5 files changed, 24 insertions, 40 deletions
diff --git a/src/include/nodes/relation.h b/src/include/nodes/relation.h
index f3f08f8efa6..250fc29dfeb 100644
--- a/src/include/nodes/relation.h
+++ b/src/include/nodes/relation.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: relation.h,v 1.23 1999/02/13 23:21:42 momjian Exp $
+ * $Id: relation.h,v 1.24 1999/02/15 03:22:23 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -250,7 +250,7 @@ typedef struct JoinInfo
List *jinfo_restrictinfo;
bool mergejoinable;
bool hashjoinable;
- bool inactive;
+ bool bushy_inactive;
} JoinInfo;
typedef struct Iter
diff --git a/src/include/optimizer/geqo_paths.h b/src/include/optimizer/geqo_paths.h
deleted file mode 100644
index 2a62b459be7..00000000000
--- a/src/include/optimizer/geqo_paths.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * geqo_paths.h
- * prototypes for various subroutines in geqo_path.c
- *
- * Copyright (c) 1994, Regents of the University of California
- *
- * $Id: geqo_paths.h,v 1.9 1999/02/13 23:21:47 momjian Exp $
- *
- *-------------------------------------------------------------------------
- */
-
-/* contributed by:
- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
- * Martin Utesch * Institute of Automatic Control *
- = = University of Mining and Technology =
- * utesch@aut.tu-freiberg.de * Freiberg, Germany *
- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
- */
-
-#ifndef GEQO_PATHS_H
-#define GEQO_PATHS_H
-
-
-extern List *geqo_prune_rels(List *rel_list);
-extern void geqo_set_cheapest(RelOptInfo *rel);
-
-#endif /* GEQO_PATHS_H */
diff --git a/src/include/optimizer/internal.h b/src/include/optimizer/internal.h
index d818cec7700..c372e63e5df 100644
--- a/src/include/optimizer/internal.h
+++ b/src/include/optimizer/internal.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: internal.h,v 1.14 1999/02/13 23:21:49 momjian Exp $
+ * $Id: internal.h,v 1.15 1999/02/15 03:22:31 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -80,7 +80,9 @@
#define FLOAT_EQUAL(X,Y) ((X) - (Y) < TOLERANCE)
#define FLOAT_IS_ZERO(X) (FLOAT_EQUAL(X,0.0))
+#ifdef NOT_USED
extern int BushyPlanFlag;
+#endif
/* #define deactivate_joininfo(joininfo) joininfo->inactive=true*/
/*#define joininfo_inactive(joininfo) joininfo->inactive */
diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h
index 99a1cad9804..990cf79224f 100644
--- a/src/include/optimizer/paths.h
+++ b/src/include/optimizer/paths.h
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: paths.h,v 1.16 1999/02/14 04:56:55 momjian Exp $
+ * $Id: paths.h,v 1.17 1999/02/15 03:22:31 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -21,7 +21,7 @@
/*
* allpaths.h
*/
-extern List *find_paths(Query *root, List *rels);
+extern RelOptInfo *make_one_rel(Query *root, List *rels);
/*
* indxpath.h
@@ -77,16 +77,19 @@ extern MergeInfo *match_order_mergeinfo(PathOrder *ordering,
* joinrels.h
* routines to determine which relations to join
*/
-extern List *make_new_rels_by_joins(Query *root, List *outer_rels);
+extern List *make_rels_by_joins(Query *root, List *outer_rels);
extern void add_new_joininfos(Query *root, List *joinrels, List *outerrels);
-extern List *final_join_rels(List *join_rel_list);
+extern List *make_rels_by_clause_joins(Query *root, RelOptInfo *outer_rel,
+ List *joininfo_list, List *only_relids);
+extern List *make_rels_by_clauseless_joins(RelOptInfo *outer_rel,
+ List *inner_rels);
+extern RelOptInfo *make_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo);
+extern List *new_join_tlist(List *tlist, List *other_relids,int first_resdomno);
/*
* prototypes for path/prune.c
*/
extern void merge_rels_with_same_relids(List *rel_list);
extern void rels_set_cheapest(List *rel_list);
-extern List *merge_joinrels(List *rel_list1, List *rel_list2);
-extern List *prune_oldrels(List *old_rels);
#endif /* PATHS_H */
diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h
index aae5b704427..e58572b0c77 100644
--- a/src/include/storage/proc.h
+++ b/src/include/storage/proc.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: proc.h,v 1.17 1999/02/13 23:22:09 momjian Exp $
+ * $Id: proc.h,v 1.18 1999/02/15 03:22:37 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -75,8 +75,15 @@ typedef struct procglobal
extern PROC *MyProc;
-#define PROC_INCR_SLOCK(lock) if (MyProc) ((MyProc->sLocks[(lock)])++)
-#define PROC_DECR_SLOCK(lock) if (MyProc) ((MyProc->sLocks[(lock)])--)
+#define PROC_INCR_SLOCK(lock) \
+do { \
+ if (MyProc) (MyProc->sLocks[(lock)])++; \
+} while (0)
+
+#define PROC_DECR_SLOCK(lock) \
+do { \
+ if (MyProc) (MyProc->sLocks[(lock)])--; \
+} while (0)
/*
* flags explaining why process woke up