diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/nodes/relation.h | 18 | ||||
| -rw-r--r-- | src/include/optimizer/clauses.h | 5 | ||||
| -rw-r--r-- | src/include/optimizer/pathnode.h | 6 | ||||
| -rw-r--r-- | src/include/optimizer/paths.h | 5 | ||||
| -rw-r--r-- | src/include/optimizer/xfunc.h | 6 |
5 files changed, 19 insertions, 21 deletions
diff --git a/src/include/nodes/relation.h b/src/include/nodes/relation.h index 7ade94575db..32c90392de3 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.25 1999/02/15 05:21:12 momjian Exp $ + * $Id: relation.h,v 1.26 1999/02/18 00:49:38 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -17,11 +17,11 @@ #include <nodes/primnodes.h> /* - * Relid + * Relids * List of relation identifiers (indexes into the rangetable). */ -typedef List *Relid; +typedef List *Relids; /* * RelOptInfo @@ -72,7 +72,7 @@ typedef struct RelOptInfo NodeTag type; /* all relations: */ - Relid relids; + Relids relids; /* integer list of base relids involved */ /* catalog statistics information */ bool indexed; @@ -84,7 +84,7 @@ typedef struct RelOptInfo /* materialization information */ List *targetlist; List *pathlist; /* Path structures */ - struct Path *cheapestpath; + struct Path *cheapestpath; bool pruneable; /* used solely by indices: */ @@ -100,7 +100,6 @@ typedef struct RelOptInfo List *restrictinfo; /* RestrictInfo structures */ List *joininfo; /* JoinInfo structures */ List *innerjoin; - List *superrels; } RelOptInfo; extern Var *get_expr(TargetEntry *foo); @@ -148,7 +147,7 @@ typedef struct Path * indexes. */ Cost outerjoincost; - Relid joinid; + Relids joinid; List *loc_restrictinfo; } Path; @@ -221,7 +220,7 @@ typedef struct RestrictInfo /* hashjoin only */ Oid hashjoinoperator; - Relid restrictinfojoinid; + Relids restrictinfojoinid; } RestrictInfo; typedef struct JoinMethod @@ -246,11 +245,10 @@ typedef struct MergeInfo typedef struct JoinInfo { NodeTag type; - List *unjoined_rels; + Relids unjoined_relids; List *jinfo_restrictinfo; bool mergejoinable; bool hashjoinable; - bool bushy_inactive; } JoinInfo; typedef struct Iter diff --git a/src/include/optimizer/clauses.h b/src/include/optimizer/clauses.h index d7068c6c426..6332729d45b 100644 --- a/src/include/optimizer/clauses.h +++ b/src/include/optimizer/clauses.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: clauses.h,v 1.15 1999/02/13 23:21:42 momjian Exp $ + * $Id: clauses.h,v 1.16 1999/02/18 00:49:46 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -14,6 +14,7 @@ #define CLAUSES_H #include <nodes/primnodes.h> +#include <nodes/relation.h> extern Expr *make_clause(int type, Node *oper, List *args); extern bool is_opclause(Node *clause); @@ -37,7 +38,7 @@ extern Expr *make_andclause(List *andclauses); extern bool case_clause(Node *clause); extern List *pull_constant_clauses(List *quals, List **constantQual); -extern void clause_get_relids_vars(Node *clause, List **relids, List **vars); +extern void clause_get_relids_vars(Node *clause, Relids *relids, List **vars); extern int NumRelids(Node *clause); extern bool contains_not(Node *clause); extern bool is_joinable(Node *clause); diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h index 74a651e4c29..1a52453d0df 100644 --- a/src/include/optimizer/pathnode.h +++ b/src/include/optimizer/pathnode.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: pathnode.h,v 1.14 1999/02/13 23:21:49 momjian Exp $ + * $Id: pathnode.h,v 1.15 1999/02/18 00:49:46 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -42,9 +42,9 @@ extern HashPath *create_hashjoin_path(RelOptInfo *joinrel, int outersize, /* * prototypes for rel.c */ -extern RelOptInfo *rel_member(List *relid, List *rels); +extern RelOptInfo *rel_member(Relids relid, List *rels); extern RelOptInfo *get_base_rel(Query *root, int relid); -extern RelOptInfo *get_join_rel(Query *root, List *relid); +extern RelOptInfo *get_join_rel(Query *root, Relids relid); /* * prototypes for indexnode.h diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h index 4e1bfe3323c..f49d018255e 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.20 1999/02/16 00:41:03 momjian Exp $ + * $Id: paths.h,v 1.21 1999/02/18 00:49:47 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -78,9 +78,8 @@ extern MergeInfo *match_order_mergeinfo(PathOrder *ordering, * routines to determine which relations to join */ extern List *make_rels_by_joins(Query *root, List *outer_rels); -extern void add_rel_to_rel_joininfos(Query *root, List *joinrels, List *outerrels); extern List *make_rels_by_clause_joins(Query *root, RelOptInfo *outer_rel, - List *joininfo_list, List *only_relids); + List *joininfo_list, Relids 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); diff --git a/src/include/optimizer/xfunc.h b/src/include/optimizer/xfunc.h index 5c95cc1dbbc..e96c5474813 100644 --- a/src/include/optimizer/xfunc.h +++ b/src/include/optimizer/xfunc.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: xfunc.h,v 1.15 1999/02/13 23:21:54 momjian Exp $ + * $Id: xfunc.h,v 1.16 1999/02/18 00:49:48 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -62,8 +62,8 @@ extern Cost xfunc_func_expense(Expr *node, List *args); extern int xfunc_width(Expr *clause); /* static, moved to xfunc.c */ -/* extern int xfunc_card_unreferenced(Expr *clause, Relid referenced); */ -extern int xfunc_card_product(Relid relids); +/* extern int xfunc_card_unreferenced(Expr *clause, Relids referenced); */ +extern int xfunc_card_product(Relids relids); extern List *xfunc_find_references(List *clause); extern List *xfunc_primary_join(JoinPath *pathnode); extern Cost xfunc_get_path_cost(Path *pathnode); |
