Change resjunk to a boolean.
authorBruce Momjian <[email protected]>
Mon, 17 May 1999 17:03:51 +0000 (17:03 +0000)
committerBruce Momjian <[email protected]>
Mon, 17 May 1999 17:03:51 +0000 (17:03 +0000)
17 files changed:
src/backend/executor/execJunk.c
src/backend/nodes/makefuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/prep/preptlist.c
src/backend/optimizer/util/tlist.c
src/backend/parser/analyze.c
src/backend/parser/parse_clause.c
src/backend/parser/parse_func.c
src/backend/parser/parse_relation.c
src/backend/parser/parse_target.c
src/backend/rewrite/rewriteHandler.c
src/include/nodes/makefuncs.h
src/include/nodes/primnodes.h
src/include/parser/parse_target.h
src/man/explain.l

index 45a1ade83b9ac05d6cbccba75652989c12c547f3..b74b51cb04be065e806f03f6cae509e04ea11c06 100644 (file)
@@ -36,7 +36,7 @@
  *
  * The general idea is the following: A target list consists of a list of
  * Resdom nodes & expression pairs. Each Resdom node has an attribute
- * called 'resjunk'. If the value of this attribute is 1 then the
+ * called 'resjunk'. If the value of this attribute is true then the
  * corresponding attribute is a "junk" attribute.
  *
  * When we initialize a plan  we call 'ExecInitJunkFilter' to create
@@ -73,7 +73,7 @@ ExecInitJunkFilter(List *targetList)
        TargetEntry *tle;
        Resdom     *resdom,
                           *cleanResdom;
-       int                     resjunk;
+       bool            resjunk;
        AttrNumber      cleanResno;
        AttrNumber *cleanMap;
        Size            size;
@@ -81,7 +81,7 @@ ExecInitJunkFilter(List *targetList)
 
        /* ---------------------
         * First find the "clean" target list, i.e. all the entries
-        * in the original target list which have a zero 'resjunk'
+        * in the original target list which have a false 'resjunk'
         * NOTE: make copy of the Resdom nodes, because we have
         * to change the 'resno's...
         * ---------------------
@@ -98,7 +98,7 @@ ExecInitJunkFilter(List *targetList)
                        resdom = rtarget->resdom;
                        expr = rtarget->expr;
                        resjunk = resdom->resjunk;
-                       if (resjunk == 0)
+                       if (!resjunk)
                        {
 
                                /*
@@ -194,7 +194,7 @@ ExecInitJunkFilter(List *targetList)
                                resdom = tle->resdom;
                                expr = tle->expr;
                                resjunk = resdom->resjunk;
-                               if (resjunk == 0)
+                               if (!resjunk)
                                {
                                        cleanMap[cleanResno - 1] = resdom->resno;
                                        cleanResno++;
@@ -271,7 +271,7 @@ ExecGetJunkAttribute(JunkFilter *junkfilter,
        Resdom     *resdom;
        AttrNumber      resno;
        char       *resname;
-       int                     resjunk;
+       bool            resjunk;
        TupleDesc       tupType;
        HeapTuple       tuple;
 
@@ -290,7 +290,7 @@ ExecGetJunkAttribute(JunkFilter *junkfilter,
                resdom = tle->resdom;
                resname = resdom->resname;
                resjunk = resdom->resjunk;
-               if (resjunk != 0 && (strcmp(resname, attrName) == 0))
+               if (resjunk && (strcmp(resname, attrName) == 0))
                {
                        /* We found it ! */
                        resno = resdom->resno;
index 85377b9213360fface36dd195fe8612a82760f22..85680400a7c5bbd6da5c33553e14bc1751c73d47 100644 (file)
@@ -97,7 +97,7 @@ makeResdom(AttrNumber resno,
                   char *resname,
                   Index reskey,
                   Oid reskeyop,
-                  int resjunk)
+                  bool resjunk)
 {
        Resdom     *resdom = makeNode(Resdom);
 
index cbe9b7fe6d9974763a03fa099a697857acd8f29c..4e94e5d9ebe20a254e0fd1f4c6683cfbde2597b9 100644 (file)
@@ -565,9 +565,9 @@ _outResdom(StringInfo str, Resdom *node)
                        node->reskey,
                        node->reskeyop);
 
-       appendStringInfo(str, " :resgroupref %d :resjunk %d",
+       appendStringInfo(str, " :resgroupref %d :resjunk %",
                        node->resgroupref,
-                       node->resjunk);
+                       node->resjunk ? "true" : "false");
 }
 
 static void
index 8448d25e1186bf34fd29082c9513b7e1bd52f187..0758b6788c1aab30dc13a19d8e18d5a7e5035238 100644 (file)
@@ -751,7 +751,7 @@ _readResdom()
 
        token = lsptok(NULL, &length);          /* eat :resjunk */
        token = lsptok(NULL, &length);          /* get resjunk */
-       local_node->resjunk = atoi(token);
+       local_node->resjunk = (token[0] == 't') ? true : false;
 
        return local_node;
 }
index b30ad9827d7c5581e99e755730be13af7472d539..f52636e758ee5877693655e40385320540f5aefe 100644 (file)
@@ -168,7 +168,7 @@ union_planner(Query *parse)
                                                                resname,
                                                                0,
                                                                0,
-                                                               1);
+                                                               true);
 
                        var = makeVar(rowmark->rti, -1, TIDOID, 
                                                  -1, 0, rowmark->rti, -1);
index e42b53267ba888631011adc3a9c1e38b8798d9fe..ec5b41dc75ac8bc669ece2dce257bc1c450d2f1b 100644 (file)
@@ -106,7 +106,7 @@ preprocess_targetlist(List *tlist,
                                                        "ctid",
                                                        0,
                                                        0,
-                                                       1);
+                                                       true);
 
                var = makeVar(result_relation, -1, TIDOID, -1, 0, result_relation, -1);
 
@@ -211,7 +211,7 @@ replace_matching_resname(List *new_tlist, List *old_tlist)
         * locks.
         *
         * So, copy all these entries to the end of the target list and set their
-        * 'resjunk' value to 1 to show that these are special attributes and
+        * 'resjunk' value to true to show that these are special attributes and
         * have to be treated specially by the executor!
         */
        foreach(temp, old_tlist)
@@ -225,7 +225,7 @@ replace_matching_resname(List *new_tlist, List *old_tlist)
                {
                        newresno = (Resdom *) copyObject((Node *) old_tle->resdom);
                        newresno->resno = length(t_list) + 1;
-                       newresno->resjunk = 1;
+                       newresno->resjunk = true;
                        new_tl = makeTargetEntry(newresno, old_tle->expr);
                        t_list = lappend(t_list, new_tl);
                }
@@ -267,7 +267,7 @@ replace_matching_resname(List *new_tlist, List *old_tlist)
                        {
                                newresno = (Resdom *) copyObject((Node *) old_tle->resdom);
                                newresno->resno = length(t_list) + 1;
-                               newresno->resjunk = 1;
+                               newresno->resjunk = true;
                                new_tl = makeTargetEntry(newresno, old_tle->expr);
                                t_list = lappend(t_list, new_tl);
                        }
@@ -338,7 +338,7 @@ new_relation_targetlist(Oid relid, Index rt_index, NodeTag node_type)
                                                                                                           attname,
                                                                                                           0,
                                                                                                           (Oid) 0,
-                                                                                                          0),
+                                                                                                          false),
                                                                                        (Node *) temp2);
                                        t_list = lappend(t_list, temp3);
                                        break;
@@ -358,7 +358,7 @@ new_relation_targetlist(Oid relid, Index rt_index, NodeTag node_type)
                                                                                                                   attname,
                                                                                                                   0,
                                                                                                                   (Oid) 0,
-                                                                                                                  0),
+                                                                                                                  false),
                                                                                                (Node *) temp_var);
                                        t_list = lappend(t_list, temp_list);
                                        break;
index 2b5b3e49d28bf4c4363b52a722050d1a24baa7b8..abec5611c0e2a85ce1b3e9fcbda0a5b5dd10a1c3 100644 (file)
@@ -138,7 +138,7 @@ create_tl_element(Var *var, int resdomno)
                                                                          NULL,
                                                                          (Index) 0,
                                                                          (Oid) 0,
-                                                                         0),
+                                                                         false),
                                                   (Node *) var);
 }
 
@@ -379,7 +379,7 @@ flatten_tlist(List *tlist)
                                                   NULL,
                                                   (Index) 0,
                                                   (Oid) 0,
-                                                  0);
+                                                  false);
                        last_resdomno++;
                        new_tlist = lappend(new_tlist, makeTargetEntry(r, (Node *) var));
                }
@@ -573,7 +573,7 @@ AddGroupAttrToTlist(List *tlist, List *grpCl)
                                                   NULL,
                                                   (Index) 0,
                                                   (Oid) 0,
-                                                  0);
+                                                  false);
                        last_resdomno++;
                        tlist = lappend(tlist, makeTargetEntry(r, (Node *) var));
                }
index 427665674b9f2627f5012a1ecafc5f447e78674d..d41188928a00338dfbe8fb1460b881a2b45a01c7 100644 (file)
@@ -338,7 +338,7 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt)
                                                                   att[defval[ndef].adnum - 1]->atttypid,
                                                                  att[defval[ndef].adnum - 1]->atttypmod,
                           pstrdup(nameout(&(att[defval[ndef].adnum - 1]->attname))),
-                                                                                       0, 0, 0),
+                                                                                       0, 0, false),
                                                          (Node *) stringToNode(defval[ndef].adbin));
                        qry->targetList = lappend(qry->targetList, te);
                }
index 0dc06f7fb19e6f05f50ac2f11c3dab3cf30eff42..77ce9374fca176107a81128502daafda59fe4e60 100644 (file)
@@ -495,14 +495,14 @@ findTargetlistEntry(ParseState *pstate, Node *node, List *tlist, int clause)
                        case T_Attr:
                                target_result = MakeTargetEntryIdent(pstate, node,
                                                                                 &((Attr *) node)->relname, NULL,
-                                                                                ((Attr *) node)->relname, TRUE);
+                                                                                ((Attr *) node)->relname, true);
                                lappend(tlist, target_result);
                                break;
 
                        case T_Ident:
                                target_result = MakeTargetEntryIdent(pstate, node,
                                                                                   &((Ident *) node)->name, NULL,
-                                                                                  ((Ident *) node)->name, TRUE);
+                                                                                  ((Ident *) node)->name, true);
                                lappend(tlist, target_result);
                                break;
 
@@ -517,7 +517,7 @@ findTargetlistEntry(ParseState *pstate, Node *node, List *tlist, int clause)
 
                        case T_FuncCall:
                        case T_A_Expr:
-                               target_result = MakeTargetEntryExpr(pstate, "resjunk", expr, FALSE, TRUE);
+                               target_result = MakeTargetEntryExpr(pstate, "resjunk", expr, false, true);
                                lappend(tlist, target_result);
                                break;
 
index 2d161c3c4aa2da0e53e6f41d2513321b54db8d4b..ed2c5eb95ccc6cd39162ab51acba2737c044c163 100644 (file)
@@ -1352,7 +1352,7 @@ setup_tlist(char *attname, Oid relid)
                                                 get_attname(relid, attno),
                                                 0,
                                                 (Oid) 0,
-                                                0);
+                                                false);
        varnode = makeVar(-1, attno, typeid, type_mod, 0, -1, attno);
 
        tle = makeTargetEntry(resnode, (Node *) varnode);
@@ -1377,7 +1377,7 @@ setup_base_tlist(Oid typeid)
                                                 "<noname>",
                                                 0,
                                                 (Oid) 0,
-                                                0);
+                                                false);
        varnode = makeVar(-1, 1, typeid, -1, 0, -1, 1);
        tle = makeTargetEntry(resnode, (Node *) varnode);
 
index 90e84697430a7119057946a6db3c11bb6669623c..079e0524f58b4ec713b5dcb53da70bea7e985984 100644 (file)
@@ -283,7 +283,7 @@ expandAll(ParseState *pstate, char *relname, char *refname, int *this_resno)
                                                                attrname,
                                                                (Index) 0,
                                                                (Oid) 0,
-                                                               0);
+                                                               false);
                te->expr = (Node *) varnode;
                if (te_head == NIL)
                        te_head = te_tail = lcons(te, NIL);
index 3c41f71cad8d1d11f0faaf4dd0bd02be25b7b8f8..4e155a2bbada3977ef600cd1d643e048a00c68cd 100644 (file)
@@ -60,7 +60,7 @@ MakeTargetEntryIdent(ParseState *pstate,
                                         char **resname,
                                         char *refname,
                                         char *colname,
-                                        int16 resjunk)
+                                        bool resjunk)
 {
        Node       *expr = NULL;
        Oid                     attrtype_target;
@@ -123,7 +123,7 @@ MakeTargetEntryIdent(ParseState *pstate,
                        {
                                expr = coerce_type(pstate, node, attrtype_id, attrtype_target);
                                expr = transformExpr(pstate, expr, EXPR_COLUMN_FIRST);
-                               tent = MakeTargetEntryExpr(pstate, *resname, expr, FALSE, FALSE);
+                               tent = MakeTargetEntryExpr(pstate, *resname, expr, false, false);
                                expr = tent->expr;
                        }
                        else
@@ -185,7 +185,7 @@ MakeTargetEntryExpr(ParseState *pstate,
                                        char *colname,
                                        Node *expr,
                                        List *arrayRef,
-                                       int16 resjunk)
+                                       bool resjunk)
 {
        Oid                     type_id,
                                attrtype;
@@ -345,7 +345,7 @@ MakeTargetEntryCase(ParseState *pstate,
                                                 res->name,
                                                 (Index) 0,
                                                 (Oid) 0,
-                                                0);
+                                                false);
 
        tent = makeNode(TargetEntry);
        tent->resdom = resnode;
@@ -426,7 +426,7 @@ MakeTargetEntryComplex(ParseState *pstate,
                constval->val.str = save_str;
                return MakeTargetEntryExpr(pstate, res->name,
                                                                   (Node *) make_const(constval),
-                                                                  NULL, FALSE);
+                                                                  NULL, false);
                pfree(save_str);
        }
        else
@@ -458,7 +458,7 @@ MakeTargetEntryComplex(ParseState *pstate,
                }
                res->name = colname;
                return MakeTargetEntryExpr(pstate, res->name, expr,
-                                                                  res->indirection, FALSE);
+                                                                  res->indirection, false);
        }
 }
 
@@ -531,7 +531,7 @@ MakeTargetEntryAttr(ParseState *pstate,
                                                 resname,
                                                 (Index) 0,
                                                 (Oid) 0,
-                                                0);
+                                                false);
        tent = makeNode(TargetEntry);
        tent->resdom = resnode;
        tent->expr = result;
@@ -560,7 +560,8 @@ transformTargetList(ParseState *pstate, List *targetlist)
                                        char       *identname;
 
                                        identname = ((Ident *) res->val)->name;
-                                       tent = MakeTargetEntryIdent(pstate, (Node *) res->val, &res->name, NULL, identname, FALSE);
+                                       tent = MakeTargetEntryIdent(pstate,
+                                               (Node *) res->val, &res->name, NULL, identname, false);
                                        break;
                                }
                        case T_ParamNo:
index bfa7a55caa77f96066ef7e024055032aeb1bcc46..8850be0492c8c4b2e39a93c50808717d04f171c5 100644 (file)
@@ -1063,7 +1063,7 @@ modifyAggrefMakeSublink(Expr *origexp, Query *parsetree)
        resdom->resname = pstrdup("<noname>");
        resdom->reskey  = 0;
        resdom->reskeyop = 0;
-       resdom->resjunk = 0;
+       resdom->resjunk = false;
 
        tle->resdom     = resdom;
        tle->expr       = (Node *)aggref;
index 7ca8fbf77dc601b02c01698643abbed6802223dc..72ff64eb1d7f732a236a39291207428055e8b6ec 100644 (file)
@@ -39,7 +39,7 @@ extern Resdom *makeResdom(AttrNumber resno,
                                                  char *resname,
                                                  Index reskey,
                                                  Oid reskeyop,
-                                                 int resjunk);
+                                                 bool resjunk);
 
 extern Const *makeConst(Oid consttype,
                                                int constlen,
index 2c61b30f74eaf443405d600389cdbed9bd31f621..3112c71a37a34d093ae79cae36c8544299afddee 100644 (file)
@@ -31,9 +31,8 @@
  *             reskey                  - order of key in a sort (for those > 0)
  *             reskeyop                - sort operator Oid
  *             resgroupref             - set to nonzero if referenced from a group by clause
- *             resjunk                 - set to nonzero to eliminate the attribute
- *                                               from final target list  e.g., ctid for replace
- *                                               and delete
+ *             resjunk                 - set to true to eliminate the attribute
+ *                                               from final target list
  *
  * ----------------
  */
@@ -47,7 +46,7 @@ typedef struct Resdom
        Index           reskey;
        Oid                     reskeyop;
        Index           resgroupref;
-       int                     resjunk;
+       bool            resjunk;
 } Resdom;
 
 /* -------------
index 749009a258ffdc623c383590dcdf5de7e1b54127..cc7f0232508f18ac9928694187b2a641def62cff 100644 (file)
@@ -29,13 +29,13 @@ extern TargetEntry *MakeTargetEntryIdent(ParseState *pstate,
                                         char **resname,
                                         char *refname,
                                         char *colname,
-                                        int16 resjunk);
+                                        bool resjunk);
 extern Node *CoerceTargetExpr(ParseState *pstate, Node *expr,
                                 Oid type_id, Oid attrtype);
 TargetEntry *MakeTargetEntryExpr(ParseState *pstate,
                                        char *colname,
                                        Node *expr,
                                        List *arrayRef,
-                                       int16 resjunk);
+                                       bool resjunk);
 
 #endif  /* PARSE_TARGET_H */
index a7e307e3630cb5ad0c853602bfa228788ba5499c..f3fe09733dd8322a67c50c3971d731d1f14a3794 100644 (file)
@@ -33,12 +33,12 @@ NOTICE:QUERY PLAN:
 
 {AGG :cost 0 :size 0 :width 0 :state <> :qptargetlist
  ({TLE :resdom {RESDOM :resno 1 :restype 700 :restypmod 4 :resname "sum"
-   :reskey 0 :reskeyop 0 :resjunk 0}
+   :reskey 0 :reskeyop 0 :resjunk false}
   :expr {AGGREG :aggname "sum" :basetype 700 :aggtype 700 :aggno 0
  :target {VAR :varno 1 :varattno 1 :vartype 700 :varnoold 1 :varoattno 1}}})
  :qpqual <> :lefttree {SEQSCAN :cost 0 :size 0 :width 4 :state <>
   :qptargetlist ({TLE :resdom {RESDOM :resno 1 :restype 700 :restypmod 4
-   :resname "null" :reskey 0 :reskeyop 0 :resjunk 0}
+   :resname "null" :reskey 0 :reskeyop 0 :resjunk false}
   :expr {VAR :varno 1 :varattno 1 :vartype 700 :varnoold 1 :varoattno 1}})
  :qpqual <> :lefttree <> :righttree <> :scanrelid 1} :righttree <> :numagg 1 }