diff options
author | Bruce Momjian | 1999-02-18 00:49:48 +0000 |
---|---|---|
committer | Bruce Momjian | 1999-02-18 00:49:48 +0000 |
commit | 31cce21fb089b231bc408bc6e4541280c533b43f (patch) | |
tree | 749ef32f2f6ba4311393c34702eec63e4700bef3 /src/backend/optimizer/util | |
parent | c82ca4c15828abdecf0ec5343d7f39b4f3a475f9 (diff) |
Fix bushy plans. Cleanup.
Diffstat (limited to 'src/backend/optimizer/util')
-rw-r--r-- | src/backend/optimizer/util/clauses.c | 4 | ||||
-rw-r--r-- | src/backend/optimizer/util/joininfo.c | 19 | ||||
-rw-r--r-- | src/backend/optimizer/util/pathnode.c | 4 | ||||
-rw-r--r-- | src/backend/optimizer/util/relnode.c | 17 |
4 files changed, 20 insertions, 24 deletions
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index d615d4e36d6..3fb0a901a04 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.30 1999/02/14 22:24:25 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.31 1999/02/18 00:49:37 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -369,7 +369,7 @@ pull_constant_clauses(List *quals, List **constantQual) * */ void -clause_get_relids_vars(Node *clause, List **relids, List **vars) +clause_get_relids_vars(Node *clause, Relids *relids, List **vars) { List *clvars = pull_var_clause(clause); List *var_list = NIL; diff --git a/src/backend/optimizer/util/joininfo.c b/src/backend/optimizer/util/joininfo.c index a7e66fa03ea..880cfa5f422 100644 --- a/src/backend/optimizer/util/joininfo.c +++ b/src/backend/optimizer/util/joininfo.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/joininfo.c,v 1.17 1999/02/15 05:21:11 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/joininfo.c,v 1.18 1999/02/18 00:49:37 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -38,16 +38,16 @@ JoinInfo * joininfo_member(List *join_relids, List *joininfo_list) { - List *i = NIL; - List *other_rels = NIL; + List *i; foreach(i, joininfo_list) { - other_rels = lfirst(i); - if (same(join_relids, ((JoinInfo *) other_rels)->unjoined_rels)) - return (JoinInfo *) other_rels; + JoinInfo *joininfo = (JoinInfo *)lfirst(i); + + if (same(join_relids, joininfo->unjoined_relids)) + return joininfo; } - return (JoinInfo *) NULL; + return NULL; } @@ -62,7 +62,7 @@ joininfo_member(List *join_relids, List *joininfo_list) * */ JoinInfo * -find_joininfo_node(RelOptInfo *this_rel, List *join_relids) +find_joininfo_node(RelOptInfo *this_rel, Relids join_relids) { JoinInfo *joininfo = joininfo_member(join_relids, this_rel->joininfo); @@ -70,11 +70,10 @@ find_joininfo_node(RelOptInfo *this_rel, List *join_relids) if (joininfo == NULL) { joininfo = makeNode(JoinInfo); - joininfo->unjoined_rels = join_relids; + joininfo->unjoined_relids = join_relids; joininfo->jinfo_restrictinfo = NIL; joininfo->mergejoinable = false; joininfo->hashjoinable = false; - joininfo->bushy_inactive = false; this_rel->joininfo = lcons(joininfo, this_rel->joininfo); } return joininfo; diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index 8e72cabb740..9041a9fe9b7 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.36 1999/02/15 03:22:16 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.37 1999/02/18 00:49:38 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -633,7 +633,7 @@ create_hashjoin_path(RelOptInfo *joinrel, pathnode->jpath.path.pathorder->ordtype = SORTOP_ORDER; pathnode->jpath.path.pathorder->ord.sortop = NULL; pathnode->jpath.path.outerjoincost = (Cost) 0.0; - pathnode->jpath.path.joinid = (Relid) NULL; + pathnode->jpath.path.joinid = (Relids) NULL; /* pathnode->hashjoinoperator = operator; */ pathnode->path_hashclauses = hashclauses; pathnode->outerhashkeys = outerkeys; diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c index 63c0ca4f47b..3b7594d87f1 100644 --- a/src/backend/optimizer/util/relnode.c +++ b/src/backend/optimizer/util/relnode.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/relnode.c,v 1.14 1999/02/15 03:22:17 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/relnode.c,v 1.15 1999/02/18 00:49:38 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -30,7 +30,7 @@ RelOptInfo * get_base_rel(Query *root, int relid) { - List *relids; + Relids relids; RelOptInfo *rel; relids = lconsi(relid, NIL); @@ -53,7 +53,6 @@ get_base_rel(Query *root, int relid) rel->restrictinfo = NIL; rel->joininfo = NIL; rel->innerjoin = NIL; - rel->superrels = NIL; root->base_rel_list = lcons(rel, root->base_rel_list); @@ -76,7 +75,6 @@ get_base_rel(Query *root, int relid) bool hasindex; int pages, tuples; - /* * Otherwise, retrieve relation characteristics from the * system catalogs. @@ -93,11 +91,10 @@ get_base_rel(Query *root, int relid) /* * get_join_rel * Returns relation entry corresponding to 'relid' (a list of relids), - * creating a new one if necessary. This is for join relations. - * + * or NULL. */ RelOptInfo * -get_join_rel(Query *root, List *relid) +get_join_rel(Query *root, Relids relid) { return rel_member(relid, root->join_rel_list); } @@ -111,17 +108,17 @@ get_join_rel(Query *root, List *relid) * */ RelOptInfo * -rel_member(List *relid, List *rels) +rel_member(Relids relids, List *rels) { List *temp = NIL; List *temprelid = NIL; - if (relid != NIL && rels != NIL) + if (relids != NIL && rels != NIL) { foreach(temp, rels) { temprelid = ((RelOptInfo *) lfirst(temp))->relids; - if (same(temprelid, relid)) + if (same(temprelid, relids)) return (RelOptInfo *) (lfirst(temp)); } } |