More optimizer renaming HInfo -> HashInfo.
authorBruce Momjian
Thu, 4 Feb 1999 01:47:02 +0000 (01:47 +0000)
committerBruce Momjian
Thu, 4 Feb 1999 01:47:02 +0000 (01:47 +0000)
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/README
src/backend/optimizer/path/hashutils.c
src/backend/optimizer/path/joinpath.c
src/backend/optimizer/path/prune.c
src/backend/optimizer/util/pathnode.c
src/include/nodes/nodes.h
src/include/nodes/relation.h

index 49c7b05b3d989f8c5301b846ae6d93e4cc213455..7935d6b9951710c97848d5e34bba9af8511e424a 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.59 1999/02/03 21:16:17 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.60 1999/02/04 01:46:53 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1378,13 +1378,13 @@ _copyJoinMethod(JoinMethod *from)
 }
 
 /* ----------------
- *     _copyHInfo
+ *     _copyHashInfo
  * ----------------
  */
-static HInfo *
-_copyHInfo(HInfo *from)
+static HashInfo *
+_copyHashInfo(HashInfo *from)
 {
-   HInfo      *newnode = makeNode(HInfo);
+   HashInfo       *newnode = makeNode(HashInfo);
 
    /* ----------------
     *  copy remainder of node
@@ -1797,8 +1797,8 @@ copyObject(void *from)
        case T_JoinMethod:
            retval = _copyJoinMethod(from);
            break;
-       case T_HInfo:
-           retval = _copyHInfo(from);
+       case T_HashInfo:
+           retval = _copyHashInfo(from);
            break;
        case T_MInfo:
            retval = _copyMInfo(from);
index b8727f7f331cf6cc618da08d436d7135a89e0321..116d19327daf5728872dc547f9976271a9abae43 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.22 1999/02/03 20:15:22 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.23 1999/02/04 01:46:54 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -476,10 +476,10 @@ _equalMergeOrder(MergeOrder *a, MergeOrder *b)
 }
 
 static bool
-_equalHInfo(HInfo *a, HInfo *b)
+_equalHashInfo(HashInfo *a, HashInfo *b)
 {
-   Assert(IsA(a, HInfo));
-   Assert(IsA(b, HInfo));
+   Assert(IsA(a, HashInfo));
+   Assert(IsA(b, HashInfo));
 
    if (a->hashop != b->hashop)
        return false;
@@ -696,8 +696,8 @@ equal(void *a, void *b)
        case T_MergeOrder:
            retval = _equalMergeOrder(a, b);
            break;
-       case T_HInfo:
-           retval = _equalHInfo(a, b);
+       case T_HashInfo:
+           retval = _equalHashInfo(a, b);
            break;
        case T_IndexScan:
            retval = _equalIndexScan(a, b);
index 7c370053c14e6e4e158fea148b0d88797d0a0a60..8c0d49a7c32dc8e15410c9015702b8921c37f7e5 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *  $Id: outfuncs.c,v 1.63 1999/02/03 20:15:22 momjian Exp $
+ *  $Id: outfuncs.c,v 1.64 1999/02/04 01:46:54 momjian Exp $
  *
  * NOTES
  *   Every (plan) node in POSTGRES has an associated "out" routine which
@@ -1137,10 +1137,10 @@ _outJoinMethod(StringInfo str, JoinMethod *node)
 }
 
 /*
- * HInfo is a subclass of JoinMethod.
+ * HashInfo is a subclass of JoinMethod.
  */
 static void
-_outHInfo(StringInfo str, HInfo *node)
+_outHashInfo(StringInfo str, HashInfo *node)
 {
    appendStringInfo(str, " HASHINFO :hashop %u :jmkeys ", node->hashop);
    _outNode(str, node->jmethod.jmkeys);
@@ -1578,8 +1578,8 @@ _outNode(StringInfo str, void *obj)
            case T_JoinMethod:
                _outJoinMethod(str, obj);
                break;
-           case T_HInfo:
-               _outHInfo(str, obj);
+           case T_HashInfo:
+               _outHashInfo(str, obj);
                break;
            case T_JoinInfo:
                _outJoinInfo(str, obj);
index 5e548096ae5d39dcd31091ce5bd7c5ee6a92f181..fc7a1b443819f9489f6701518aaae9888dc9a353 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.46 1999/02/03 21:16:18 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.47 1999/02/04 01:46:54 momjian Exp $
  *
  * NOTES
  *   Most of the read functions for plan nodes are tested. (In fact, they
@@ -1906,19 +1906,19 @@ _readJoinMethod()
 }
 
 /* ----------------
- *     _readHInfo
+ *     _readHashInfo
  *
- * HInfo is a subclass of JoinMethod.
+ * HashInfo is a subclass of JoinMethod.
  * ----------------
  */
-static HInfo *
-_readHInfo()
+static HashInfo *
+_readHashInfo()
 {
-   HInfo      *local_node;
+   HashInfo       *local_node;
    char       *token;
    int         length;
 
-   local_node = makeNode(HInfo);
+   local_node = makeNode(HashInfo);
 
    token = lsptok(NULL, &length);      /* get :hashop */
    token = lsptok(NULL, &length);      /* now read it */
@@ -2094,7 +2094,7 @@ parsePlanString(void)
    else if (!strncmp(token, "JOININFO", length))
        return_value = _readJoinInfo();
    else if (!strncmp(token, "HINFO", length))
-       return_value = _readHInfo();
+       return_value = _readHashInfo();
    else if (!strncmp(token, "ITER", length))
        return_value = _readIter();
    else if (!strncmp(token, "QUERY", length))
index 0bce226a798af1c4d25975d6867617cbb8f208fe..bf67e97e382ca7bbd5f4ddfd3a33983c0e69d65c 100644 (file)
@@ -93,8 +93,9 @@ planner()
 
 Optimizer Structures
 --------------------
-Path       - info about every way to access a relation(sequential, index)
-  PathOrder - info about every ordering (sort, merge of relations)
-RelOptInfo - info about every relation 
-  JoinInfo - info about join combinations
-RestrictInfo   - info about restrictions
+RelOptInfo     - info about every relation
+  RestrictInfo - info about restrictions
+  JoinInfo     - info about join combinations
+  Path         - info about every way to access a relation(sequential, index)
+    PathOrder  - info about every ordering (sort, merge of relations)
+
index cf393ebb1f9b2580860b1a2cf928c2ef7be14957..4cdf4752d373f5a59624fc5455678b0dc11bfe83 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/hashutils.c,v 1.9 1999/02/03 21:16:25 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/hashutils.c,v 1.10 1999/02/04 01:46:57 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -20,7 +20,7 @@
 #include "optimizer/clauses.h"
 
 
-static HInfo *match_hashop_hashinfo(Oid hashop, List *hashinfo_list);
+static HashInfo *match_hashop_hashinfo(Oid hashop, List *hashinfo_list);
 
 /*
  * group-clauses-by-hashop--
@@ -54,7 +54,7 @@ group_clauses_by_hashop(List *restrictinfo_list,
         */
        if (hashjoinop)
        {
-           HInfo      *xhashinfo = (HInfo *) NULL;
+           HashInfo       *xhashinfo = (HashInfo *) NULL;
            Expr       *clause = restrictinfo->clause;
            Var        *leftop = get_leftop(clause);
            Var        *rightop = get_rightop(clause);
@@ -77,7 +77,7 @@ group_clauses_by_hashop(List *restrictinfo_list,
 
            if (xhashinfo == NULL)
            {
-               xhashinfo = makeNode(HInfo);
+               xhashinfo = makeNode(HashInfo);
                xhashinfo->hashop = hashjoinop;
 
                xhashinfo->jmethod.jmkeys = NIL;
@@ -105,21 +105,21 @@ group_clauses_by_hashop(List *restrictinfo_list,
  * Returns the node if it exists.
  *
  */
-static HInfo *
+static HashInfo *
 match_hashop_hashinfo(Oid hashop, List *hashinfo_list)
 {
    Oid         key = 0;
-   HInfo      *xhashinfo = (HInfo *) NULL;
+   HashInfo       *xhashinfo = (HashInfo *) NULL;
    List       *i = NIL;
 
    foreach(i, hashinfo_list)
    {
-       xhashinfo = (HInfo *) lfirst(i);
+       xhashinfo = (HashInfo *) lfirst(i);
        key = xhashinfo->hashop;
        if (hashop == key)
        {                       /* found */
            return xhashinfo;   /* should be a hashinfo node ! */
        }
    }
-   return (HInfo *) NIL;
+   return (HashInfo *) NIL;
 }
index bd3c3b2410c4535af5b46b34cdb63ca58d3c575b..991290178f6688247b94ce856fe19d67447d5e78 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.12 1999/02/03 21:16:27 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinpath.c,v 1.13 1999/02/04 01:46:57 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -579,7 +579,7 @@ hash_inner_and_outer(RelOptInfo * joinrel,
                     RelOptInfo * innerrel,
                     List *hashinfo_list)
 {
-   HInfo      *xhashinfo = (HInfo *) NULL;
+   HashInfo       *xhashinfo = (HashInfo *) NULL;
    List       *hjoin_list = NIL;
    HashPath   *temp_node = (HashPath *) NULL;
    List       *i = NIL;
@@ -589,7 +589,7 @@ hash_inner_and_outer(RelOptInfo * joinrel,
 
    foreach(i, hashinfo_list)
    {
-       xhashinfo = (HInfo *) lfirst(i);
+       xhashinfo = (HashInfo *) lfirst(i);
        outerkeys = extract_path_keys(((JoinMethod *) xhashinfo)->jmkeys,
                              outerrel->targetlist,
                              OUTER);
index 908687e6d8478bc73b6f9d3fb27b71f9899298dc..e65c4d7d67592c4fe11fb9d33cf4d1f5cf014b49 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/prune.c,v 1.17 1998/09/01 04:29:44 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/prune.c,v 1.18 1999/02/04 01:46:58 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -29,7 +29,7 @@ static List *prune_joinrel(RelOptInfo * rel, List *other_rels);
 /*
  * prune-joinrels--
  *   Removes any redundant relation entries from a list of rel nodes
- *   'rel-list'.  Obviosly, the first relation can't be a duplicate.
+ *   'rel-list'.  Obviously, the first relation can't be a duplicate.
  *
  * Returns the resulting list.
  *
@@ -59,7 +59,7 @@ prune_joinrels(List *rel_list)
  *
  */
 static List *
-prune_joinrel(RelOptInfo * rel, List *other_rels)
+prune_joinrel(RelOptInfo *rel, List *other_rels)
 {
    List       *i = NIL;
    List       *result = NIL;
@@ -135,8 +135,7 @@ prune_rel_path(RelOptInfo * rel, Path *unorderedpath)
    Path       *cheapest = set_cheapest(rel, rel->pathlist);
 
    /* don't prune if not pruneable  -- JMH, 11/23/92 */
-   if (unorderedpath != cheapest
-       && rel->pruneable)
+   if (unorderedpath != cheapest && rel->pruneable)
    {
 
        rel->unorderedpath = (Path *) NULL;
index 55aa83875e2c35b1b83bb45dcb1fc3254347305b..7bdec4bb4aa5d621b48f38e6db8895c511d5ff51 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.16 1999/02/03 21:16:52 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/optimizer/util/pathnode.c,v 1.17 1999/02/04 01:46:59 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -62,7 +62,7 @@ path_is_cheaper(Path *path1, Path *path2)
  *
  */
 Path *
-set_cheapest(RelOptInfo * parent_rel, List *pathlist)
+set_cheapest(RelOptInfo *parent_rel, List *pathlist)
 {
    List       *p;
    Path       *cheapest_so_far;
@@ -99,7 +99,7 @@ set_cheapest(RelOptInfo * parent_rel, List *pathlist)
  *
  */
 List *
-add_pathlist(RelOptInfo * parent_rel, List *unique_paths, List *new_paths)
+add_pathlist(RelOptInfo *parent_rel, List *unique_paths, List *new_paths)
 {
    List       *x;
    Path       *new_path;
index 88eea4c485a378c49222a8dab710c618fd290ea1..e0c45ea9e160f08c146577e199e6ccfdcbd2342c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: nodes.h,v 1.36 1999/02/03 20:15:46 momjian Exp $
+ * $Id: nodes.h,v 1.37 1999/02/04 01:47:00 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -81,7 +81,7 @@ typedef enum NodeTag
    T_MergeOrder,
    T_RestrictInfo,
    T_JoinMethod,
-   T_HInfo,
+   T_HashInfo,
    T_MInfo,
    T_JoinInfo,
    T_Iter,
index f1a8fdfc3e21f849254a74b901675ac2b6072ab6..b0feae341f237e2653d4972b3f49b3239d086223 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: relation.h,v 1.12 1999/02/03 20:15:46 momjian Exp $
+ * $Id: relation.h,v 1.13 1999/02/04 01:47:02 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -87,7 +87,7 @@ typedef struct RelOptInfo
 
    /* materialization information */
    List       *targetlist;
-   List       *pathlist;
+   List       *pathlist;       /* Path structures */
    struct Path *unorderedpath;
    struct Path *cheapestpath;
    bool        pruneable;
@@ -102,11 +102,11 @@ typedef struct RelOptInfo
 
    /* used by various scans and joins: */
    Oid        *ordering;       /* OID of operators in sort order */
-   List       *restrictinfo;       /* restriction clauses */
-   List       *joininfo;       /* join clauses */
+   List       *restrictinfo;   /* RestrictInfo structures */
+   List       *joininfo;       /* JoinInfo structures */
    List       *innerjoin;
    List       *superrels;
-}          RelOptInfo;
+} RelOptInfo;
 
 extern Var *get_expr(TargetEntry *foo);
 
@@ -132,7 +132,7 @@ typedef struct PathOrder
    {
        Oid        *sortop;
        MergeOrder *merge;
-   }           ord;
+   } ord;
 } PathOrder;
 
 typedef struct Path
@@ -230,11 +230,11 @@ typedef struct JoinMethod
    List       *clauses;
 } JoinMethod;
 
-typedef struct HInfo
+typedef struct HashInfo
 {
    JoinMethod  jmethod;
    Oid         hashop;
-} HInfo;
+} HashInfo;
 
 typedef struct MInfo
 {
@@ -250,7 +250,7 @@ typedef struct JoinInfo
    bool        mergejoinable;
    bool        hashjoinable;
    bool        inactive;
-}          JoinInfo;
+} JoinInfo;
 
 typedef struct Iter
 {