Cleanup of outnode stuff.
authorBruce Momjian
Wed, 7 Jan 1998 05:42:47 +0000 (05:42 +0000)
committerBruce Momjian
Wed, 7 Jan 1998 05:42:47 +0000 (05:42 +0000)
src/backend/nodes/outfuncs.c

index 2a8602852c1459363caa26d6de328a37c7dec2cf..d2901a29777a34732efea791fd7c553e5e804b40 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.16 1998/01/06 23:19:47 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.17 1998/01/07 05:42:47 momjian Exp $
  *
  * NOTES
  *   Every (plan) node in POSTGRES has an associated "out" routine which
@@ -61,7 +61,7 @@ _outIntList(StringInfo str, List *list)
    appendStringInfo(str, "(");
    foreach(l, list)
    {
-       sprintf(buf, "%d ", (int) lfirst(l));
+       sprintf(buf, " %d ", (int) lfirst(l));
        appendStringInfo(str, buf);
    }
    appendStringInfo(str, ")");
@@ -275,11 +275,11 @@ _outPlanInfo(StringInfo str, Plan *node)
 {
    char        buf[500];
 
-   sprintf(buf, " :cost %g", node->cost);
+   sprintf(buf, " :cost %g ", node->cost);
    appendStringInfo(str, buf);
-   sprintf(buf, " :size %d", node->plan_size);
+   sprintf(buf, " :size %d ", node->plan_size);
    appendStringInfo(str, buf);
-   sprintf(buf, " :width %d", node->plan_width);
+   sprintf(buf, " :width %d ", node->plan_width);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :state ");
    appendStringInfo(str,  node->state ? "not-NULL" : "\"\"");
@@ -332,7 +332,7 @@ _outAppend(StringInfo str, Append *node)
    appendStringInfo(str, " :unionrts ");
    _outNode(str, node->unionrts);
 
-   sprintf(buf, " :unionrelid %d", node->unionrelid);
+   sprintf(buf, " :unionrelid %d ", node->unionrelid);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :unionrtentries ");
@@ -375,13 +375,13 @@ _outMergeJoin(StringInfo str, MergeJoin *node)
    appendStringInfo(str, " :mergeclauses ");
    _outNode(str, node->mergeclauses);
 
-   sprintf(buf, " :mergesortop %u", node->mergesortop);
+   sprintf(buf, " :mergesortop %u ", node->mergesortop);
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :mergerightorder %u", node->mergerightorder[0]);
+   sprintf(buf, " :mergerightorder %u ", node->mergerightorder[0]);
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :mergeleftorder %u", node->mergeleftorder[0]);
+   sprintf(buf, " :mergeleftorder %u ", node->mergeleftorder[0]);
    appendStringInfo(str, buf);
 }
 
@@ -399,15 +399,15 @@ _outHashJoin(StringInfo str, HashJoin *node)
    appendStringInfo(str, " :hashclauses ");
    _outNode(str, node->hashclauses);
 
-   sprintf(buf, " :hashjoinop %u", node->hashjoinop);
+   sprintf(buf, " :hashjoinop %u ", node->hashjoinop);
    appendStringInfo(str, buf);
-   sprintf(buf, " :hashjointable 0x%x", (int) node->hashjointable);
+   sprintf(buf, " :hashjointable 0x%x ", (int) node->hashjointable);
    appendStringInfo(str, buf);
-   sprintf(buf, " :hashjointablekey %d", node->hashjointablekey);
+   sprintf(buf, " :hashjointablekey %d ", node->hashjointablekey);
    appendStringInfo(str, buf);
-   sprintf(buf, " :hashjointablesize %d", node->hashjointablesize);
+   sprintf(buf, " :hashjointablesize %d ", node->hashjointablesize);
    appendStringInfo(str, buf);
-   sprintf(buf, " :hashdone %d", node->hashdone);
+   sprintf(buf, " :hashdone %d ", node->hashdone);
    appendStringInfo(str, buf);
 }
 
@@ -422,7 +422,7 @@ _outScan(StringInfo str, Scan *node)
    appendStringInfo(str, "SCAN");
    _outPlanInfo(str, (Plan *) node);
 
-   sprintf(buf, " :scanrelid %d", node->scanrelid);
+   sprintf(buf, " :scanrelid %d ", node->scanrelid);
    appendStringInfo(str, buf);
 
 }
@@ -438,7 +438,7 @@ _outSeqScan(StringInfo str, SeqScan *node)
    appendStringInfo(str, "SEQSCAN");
    _outPlanInfo(str, (Plan *) node);
 
-   sprintf(buf, " :scanrelid %d", node->scanrelid);
+   sprintf(buf, " :scanrelid %d ", node->scanrelid);
    appendStringInfo(str, buf);
 
 
@@ -455,7 +455,7 @@ _outIndexScan(StringInfo str, IndexScan *node)
    appendStringInfo(str, "INDEXSCAN");
    _outPlanInfo(str, (Plan *) node);
 
-   sprintf(buf, " :scanrelid %d", node->scan.scanrelid);
+   sprintf(buf, " :scanrelid %d ", node->scan.scanrelid);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :indxid ");
@@ -477,9 +477,9 @@ _outTemp(StringInfo str, Temp *node)
    appendStringInfo(str, "TEMP");
    _outPlanInfo(str, (Plan *) node);
 
-   sprintf(buf, " :tempid %u", node->tempid);
+   sprintf(buf, " :tempid %u ", node->tempid);
    appendStringInfo(str, buf);
-   sprintf(buf, " :keycount %d", node->keycount);
+   sprintf(buf, " :keycount %d ", node->keycount);
    appendStringInfo(str, buf);
 
 }
@@ -495,9 +495,9 @@ _outSort(StringInfo str, Sort *node)
    appendStringInfo(str, "SORT");
    _outPlanInfo(str, (Plan *) node);
 
-   sprintf(buf, " :tempid %u", node->tempid);
+   sprintf(buf, " :tempid %u ", node->tempid);
    appendStringInfo(str, buf);
-   sprintf(buf, " :keycount %d", node->keycount);
+   sprintf(buf, " :keycount %d ", node->keycount);
    appendStringInfo(str, buf);
 
 }
@@ -528,7 +528,6 @@ _outGroup(StringInfo str, Group *node)
    appendStringInfo(str, buf);
    appendStringInfo(str, " :tuplePerGroup ");
    appendStringInfo(str, node->tuplePerGroup ? "true" : "false");
-   appendStringInfo(str, buf);
 }
 
 
@@ -543,9 +542,9 @@ _outUnique(StringInfo str, Unique *node)
    appendStringInfo(str, "UNIQUE");
    _outPlanInfo(str, (Plan *) node);
 
-   sprintf(buf, " :tempid %u", node->tempid);
+   sprintf(buf, " :tempid %u ", node->tempid);
    appendStringInfo(str, buf);
-   sprintf(buf, " :keycount %d", node->keycount);
+   sprintf(buf, " :keycount %d ", node->keycount);
    appendStringInfo(str, buf);
 
 }
@@ -565,11 +564,11 @@ _outHash(StringInfo str, Hash *node)
    appendStringInfo(str, " :hashkey ");
    _outNode(str, node->hashkey);
 
-   sprintf(buf, " :hashtable 0x%x", (int) (node->hashtable));
+   sprintf(buf, " :hashtable 0x%x ", (int) (node->hashtable));
    appendStringInfo(str, buf);
-   sprintf(buf, " :hashtablekey %d", node->hashtablekey);
+   sprintf(buf, " :hashtablekey %d ", node->hashtablekey);
    appendStringInfo(str, buf);
-   sprintf(buf, " :hashtablesize %d", node->hashtablesize);
+   sprintf(buf, " :hashtablesize %d ", node->hashtablesize);
    appendStringInfo(str, buf);
 }
 
@@ -581,9 +580,9 @@ _outTee(StringInfo str, Tee *node)
    appendStringInfo(str, "TEE");
    _outPlanInfo(str, (Plan *) node);
 
-   sprintf(buf, " :leftParent %X", (int) (node->leftParent));
+   sprintf(buf, " :leftParent %X ", (int) (node->leftParent));
    appendStringInfo(str, buf);
-   sprintf(buf, " :rightParent %X", (int) (node->rightParent));
+   sprintf(buf, " :rightParent %X ", (int) (node->rightParent));
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :rtentries ");
@@ -608,20 +607,19 @@ _outResdom(StringInfo str, Resdom *node)
    char        buf[500];
 
    appendStringInfo(str, "RESDOM");
-   sprintf(buf, " :resno %hd", node->resno);
+   sprintf(buf, " :resno %hd ", node->resno);
    appendStringInfo(str, buf);
-   sprintf(buf, " :restype %u", node->restype);
+   sprintf(buf, " :restype %u ", node->restype);
    appendStringInfo(str, buf);
-   sprintf(buf, " :reslen %d", node->reslen);
+   sprintf(buf, " :reslen %d ", node->reslen);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :resname ");
    appendStringInfo(str, node->resname);
+   sprintf(buf, " :reskey %d ", node->reskey);
    appendStringInfo(str, buf);
-   sprintf(buf, " :reskey %d", node->reskey);
-   appendStringInfo(str, buf);
-   sprintf(buf, " :reskeyop %u", node->reskeyop);
+   sprintf(buf, " :reskeyop %u ", node->reskeyop);
    appendStringInfo(str, buf);
-   sprintf(buf, " :resjunk %d", node->resjunk);
+   sprintf(buf, " :resjunk %d ", node->resjunk);
    appendStringInfo(str, buf);
 
 }
@@ -635,11 +633,10 @@ _outFjoin(StringInfo str, Fjoin *node)
    appendStringInfo(str, "FJOIN");
    appendStringInfo(str, " :initialized ");
    appendStringInfo(str, node->fj_initialized ? "true" : "false");
-   sprintf(buf, " :nNodes %d", node->fj_nNodes);
+   sprintf(buf, " :nNodes %d ", node->fj_nNodes);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :innerNode ");
-   appendStringInfo(str, buf);
    _outNode(str, node->fj_innerNode);
 
    sprintf(buf, " :results @  0x%x ", (int) (node->fj_results));
@@ -663,7 +660,7 @@ _outExpr(StringInfo str, Expr *node)
 
    appendStringInfo(str, "EXPR");
 
-   sprintf(buf, " :typeOid %u", node->typeOid);
+   sprintf(buf, " :typeOid %u ", node->typeOid);
    appendStringInfo(str, buf);
    switch (node->opType)
    {
@@ -700,15 +697,15 @@ _outVar(StringInfo str, Var *node)
    char        buf[500];
 
    appendStringInfo(str, "VAR");
-   sprintf(buf, " :varno %d", node->varno);
+   sprintf(buf, " :varno %d ", node->varno);
    appendStringInfo(str, buf);
-   sprintf(buf, " :varattno %hd", node->varattno);
+   sprintf(buf, " :varattno %hd ", node->varattno);
    appendStringInfo(str, buf);
-   sprintf(buf, " :vartype %u", node->vartype);
+   sprintf(buf, " :vartype %u ", node->vartype);
    appendStringInfo(str, buf);
-   sprintf(buf, " :varnoold %d", node->varnoold);
+   sprintf(buf, " :varnoold %d ", node->varnoold);
    appendStringInfo(str, buf);
-   sprintf(buf, " :varoattno %d", node->varoattno);
+   sprintf(buf, " :varoattno %d ", node->varoattno);
    appendStringInfo(str, buf);
 }
 
@@ -721,9 +718,9 @@ _outConst(StringInfo str, Const *node)
    char        buf[500];
 
    appendStringInfo(str, "CONST");
-   sprintf(buf, " :consttype %u", node->consttype);
+   sprintf(buf, " :consttype %u ", node->consttype);
    appendStringInfo(str, buf);
-   sprintf(buf, " :constlen %hd", node->constlen);
+   sprintf(buf, " :constlen %hd ", node->constlen);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :constisnull ");
    appendStringInfo(str, node->constisnull ? "true" : "false");
@@ -751,14 +748,13 @@ _outAggreg(StringInfo str, Aggreg *node)
    appendStringInfo(str, "AGGREG");
    appendStringInfo(str, " :aggname ");
    appendStringInfo(str, (char *) node->aggname);
+   sprintf(buf, " :basetype %u ", node->basetype);
    appendStringInfo(str, buf);
-   sprintf(buf, " :basetype %u", node->basetype);
-   appendStringInfo(str, buf);
-   sprintf(buf, " :aggtype %u", node->aggtype);
+   sprintf(buf, " :aggtype %u ", node->aggtype);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :target ");
    _outNode(str, node->target);
-   sprintf(buf, " :aggno %d", node->aggno);
+   sprintf(buf, " :aggno %d ", node->aggno);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :usenulls ");
    appendStringInfo(str, node->usenulls ? "true" : "false");
@@ -774,27 +770,27 @@ _outArray(StringInfo str, Array *node)
    int         i;
 
    appendStringInfo(str, "ARRAY");
-   sprintf(buf, " :arrayelemtype %u", node->arrayelemtype);
+   sprintf(buf, " :arrayelemtype %u ", node->arrayelemtype);
    appendStringInfo(str, buf);
-   sprintf(buf, " :arrayelemlength %d", node->arrayelemlength);
+   sprintf(buf, " :arrayelemlength %d ", node->arrayelemlength);
    appendStringInfo(str, buf);
-   sprintf(buf, " :arrayelembyval %c", (node->arrayelembyval) ? 't' : 'f');
+   sprintf(buf, " :arrayelembyval %c ", (node->arrayelembyval) ? 't' : 'f');
    appendStringInfo(str, buf);
-   sprintf(buf, " :arrayndim %d", node->arrayndim);
+   sprintf(buf, " :arrayndim %d ", node->arrayndim);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :arraylow ");
    for (i = 0; i < node->arrayndim; i++)
    {
-       sprintf(buf, "  %d", node->arraylow.indx[i]);
+       sprintf(buf, "  %d ", node->arraylow.indx[i]);
        appendStringInfo(str, buf);
    }
    appendStringInfo(str, " :arrayhigh ");
    for (i = 0; i < node->arrayndim; i++)
    {
-       sprintf(buf, " %d", node->arrayhigh.indx[i]);
+       sprintf(buf, " %d ", node->arrayhigh.indx[i]);
        appendStringInfo(str, buf);
    }
-   sprintf(buf, " :arraylen %d", node->arraylen);
+   sprintf(buf, " :arraylen %d ", node->arraylen);
    appendStringInfo(str, buf);
 }
 
@@ -807,13 +803,13 @@ _outArrayRef(StringInfo str, ArrayRef *node)
    char        buf[500];
 
    appendStringInfo(str, "ARRAYREF");
-   sprintf(buf, " :refelemtype %u", node->refelemtype);
+   sprintf(buf, " :refelemtype %u ", node->refelemtype);
    appendStringInfo(str, buf);
-   sprintf(buf, " :refattrlength %d", node->refattrlength);
+   sprintf(buf, " :refattrlength %d ", node->refattrlength);
    appendStringInfo(str, buf);
-   sprintf(buf, " :refelemlength %d", node->refelemlength);
+   sprintf(buf, " :refelemlength %d ", node->refelemlength);
    appendStringInfo(str, buf);
-   sprintf(buf, " :refelembyval %c", (node->refelembyval) ? 't' : 'f');
+   sprintf(buf, " :refelembyval %c ", (node->refelembyval) ? 't' : 'f');
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :refupperindex ");
@@ -838,15 +834,15 @@ _outFunc(StringInfo str, Func *node)
    char        buf[500];
 
    appendStringInfo(str, "FUNC");
-   sprintf(buf, " :funcid %u", node->funcid);
+   sprintf(buf, " :funcid %u ", node->funcid);
    appendStringInfo(str, buf);
-   sprintf(buf, " :functype %u", node->functype);
+   sprintf(buf, " :functype %u ", node->functype);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :funcisindex ");
    appendStringInfo(str, (node->funcisindex ? "true" : "false"));
-   sprintf(buf, " :funcsize %d", node->funcsize);
+   sprintf(buf, " :funcsize %d ", node->funcsize);
    appendStringInfo(str, buf);
-   sprintf(buf, " :func_fcache @ 0x%x", (int) (node->func_fcache));
+   sprintf(buf, " :func_fcache @ 0x%x ", (int) (node->func_fcache));
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :func_tlist ");
@@ -865,11 +861,11 @@ _outOper(StringInfo str, Oper *node)
    char        buf[500];
 
    appendStringInfo(str, "OPER");
-   sprintf(buf, " :opno %u", node->opno);
+   sprintf(buf, " :opno %u ", node->opno);
    appendStringInfo(str, buf);
-   sprintf(buf, " :opid %u", node->opid);
+   sprintf(buf, " :opid %u ", node->opid);
    appendStringInfo(str, buf);
-   sprintf(buf, " :opresulttype %u", node->opresulttype);
+   sprintf(buf, " :opresulttype %u ", node->opresulttype);
    appendStringInfo(str, buf);
 
 }
@@ -883,13 +879,13 @@ _outParam(StringInfo str, Param *node)
    char        buf[500];
 
    appendStringInfo(str, "PARAM");
-   sprintf(buf, " :paramkind %d", node->paramkind);
+   sprintf(buf, " :paramkind %d ", node->paramkind);
    appendStringInfo(str, buf);
-   sprintf(buf, " :paramid %hd", node->paramid);
+   sprintf(buf, " :paramid %hd ", node->paramid);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :paramname ");
    appendStringInfo(str, node->paramname);
-   sprintf(buf, " :paramtype %u", node->paramtype);
+   sprintf(buf, " :paramtype %u ", node->paramtype);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :param_tlist ");
@@ -909,13 +905,13 @@ _outEState(StringInfo str, EState *node)
    char        buf[500];
 
    appendStringInfo(str, "ESTATE");
-   sprintf(buf, " :direction %d", node->es_direction);
+   sprintf(buf, " :direction %d ", node->es_direction);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :range_table ");
    _outNode(str, node->es_range_table);
 
-   sprintf(buf, " :result_relation_info @ 0x%x",
+   sprintf(buf, " :result_relation_info @ 0x%x ",
            (int) (node->es_result_relation_info));
    appendStringInfo(str, buf);
 
@@ -936,13 +932,13 @@ _outRel(StringInfo str, Rel *node)
 
    appendStringInfo(str, " :indexed ");
    appendStringInfo(str, node->indexed ? "true" : "false");
-   sprintf(buf, " :pages %u", node->pages);
+   sprintf(buf, " :pages %u ", node->pages);
    appendStringInfo(str, buf);
-   sprintf(buf, " :tuples %u", node->tuples);
+   sprintf(buf, " :tuples %u ", node->tuples);
    appendStringInfo(str, buf);
-   sprintf(buf, " :size %u", node->size);
+   sprintf(buf, " :size %u ", node->size);
    appendStringInfo(str, buf);
-   sprintf(buf, " :width %u", node->width);
+   sprintf(buf, " :width %u ", node->width);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :targetlist ");
@@ -957,9 +953,9 @@ _outRel(StringInfo str, Rel *node)
     * This can be changed later, if necessary.
     */
 
-   sprintf(buf, " :unorderedpath @ 0x%x", (int) (node->unorderedpath));
+   sprintf(buf, " :unorderedpath @ 0x%x ", (int) (node->unorderedpath));
    appendStringInfo(str, buf);
-   sprintf(buf, " :cheapestpath @ 0x%x", (int) (node->cheapestpath));
+   sprintf(buf, " :cheapestpath @ 0x%x ", (int) (node->cheapestpath));
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :pruneable ");
@@ -1012,7 +1008,7 @@ _outRangeTblEntry(StringInfo str, RangeTblEntry *node)
    appendStringInfo(str, node->relname);
 
    sprintf(buf, " :inh %d ", node->inh);
-   appendStringInfo(str, buf);
+   appendStringInfo(str, node->inh ? "true" : "false");
 
    appendStringInfo(str, " :refname ");
    appendStringInfo(str, node->refname);
@@ -1031,10 +1027,10 @@ _outPath(StringInfo str, Path *node)
 
    appendStringInfo(str, "PATH");
 
-   sprintf(buf, " :pathtype %d", node->pathtype);
+   sprintf(buf, " :pathtype %d ", node->pathtype);
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :cost %f", node->path_cost);
+   sprintf(buf, " :cost %f ", node->path_cost);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :keys ");
@@ -1052,7 +1048,7 @@ _outIndexPath(StringInfo str, IndexPath *node)
 
    appendStringInfo(str, "INDEXPATH");
 
-   sprintf(buf, " :pathtype %d", node->path.pathtype);
+   sprintf(buf, " :pathtype %d ", node->path.pathtype);
    appendStringInfo(str, buf);
 
    /*
@@ -1060,7 +1056,7 @@ _outIndexPath(StringInfo str, IndexPath *node)
     * node->parent);
     */
 
-   sprintf(buf, " :cost %f", node->path.path_cost);
+   sprintf(buf, " :cost %f ", node->path.path_cost);
    appendStringInfo(str, buf);
 
 #if 0
@@ -1088,7 +1084,7 @@ _outJoinPath(StringInfo str, JoinPath *node)
 
    appendStringInfo(str, "JOINPATH");
 
-   sprintf(buf, " :pathtype %d", node->path.pathtype);
+   sprintf(buf, " :pathtype %d ", node->path.pathtype);
    appendStringInfo(str, buf);
 
    /*
@@ -1096,7 +1092,7 @@ _outJoinPath(StringInfo str, JoinPath *node)
     * node->parent);
     */
 
-   sprintf(buf, " :cost %f", node->path.path_cost);
+   sprintf(buf, " :cost %f ", node->path.path_cost);
    appendStringInfo(str, buf);
 
 #if 0
@@ -1114,12 +1110,12 @@ _outJoinPath(StringInfo str, JoinPath *node)
     * For now, i'll just print the addresses.
     */
 
-   sprintf(buf, " :outerjoinpath @ 0x%x", (int) (node->outerjoinpath));
+   sprintf(buf, " :outerjoinpath @ 0x%x ", (int) (node->outerjoinpath));
    appendStringInfo(str, buf);
-   sprintf(buf, " :innerjoinpath @ 0x%x", (int) (node->innerjoinpath));
+   sprintf(buf, " :innerjoinpath @ 0x%x ", (int) (node->innerjoinpath));
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :outerjoincost %f", node->path.outerjoincost);
+   sprintf(buf, " :outerjoincost %f ", node->path.outerjoincost);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :joinid ");
@@ -1137,10 +1133,10 @@ _outMergePath(StringInfo str, MergePath *node)
 
    appendStringInfo(str, "MERGEPATH");
 
-   sprintf(buf, " :pathtype %d", node->jpath.path.pathtype);
+   sprintf(buf, " :pathtype %d ", node->jpath.path.pathtype);
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :cost %f", node->jpath.path.path_cost);
+   sprintf(buf, " :cost %f ", node->jpath.path.path_cost);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :keys ");
@@ -1154,12 +1150,12 @@ _outMergePath(StringInfo str, MergePath *node)
     * For now, i'll just print the addresses.
     */
 
-   sprintf(buf, " :outerjoinpath @ 0x%x", (int) (node->jpath.outerjoinpath));
+   sprintf(buf, " :outerjoinpath @ 0x%x ", (int) (node->jpath.outerjoinpath));
    appendStringInfo(str, buf);
-   sprintf(buf, " :innerjoinpath @ 0x%x", (int) (node->jpath.innerjoinpath));
+   sprintf(buf, " :innerjoinpath @ 0x%x ", (int) (node->jpath.innerjoinpath));
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :outerjoincost %f", node->jpath.path.outerjoincost);
+   sprintf(buf, " :outerjoincost %f ", node->jpath.path.outerjoincost);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :joinid ");
@@ -1186,10 +1182,10 @@ _outHashPath(StringInfo str, HashPath *node)
 
    appendStringInfo(str, "HASHPATH");
 
-   sprintf(buf, " :pathtype %d", node->jpath.path.pathtype);
+   sprintf(buf, " :pathtype %d ", node->jpath.path.pathtype);
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :cost %f", node->jpath.path.path_cost);
+   sprintf(buf, " :cost %f ", node->jpath.path.path_cost);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :keys ");
@@ -1203,12 +1199,12 @@ _outHashPath(StringInfo str, HashPath *node)
     * For now, i'll just print the addresses.
     */
 
-   sprintf(buf, " :outerjoinpath @ 0x%x", (int) (node->jpath.outerjoinpath));
+   sprintf(buf, " :outerjoinpath @ 0x%x ", (int) (node->jpath.outerjoinpath));
    appendStringInfo(str, buf);
-   sprintf(buf, " :innerjoinpath @ 0x%x", (int) (node->jpath.innerjoinpath));
+   sprintf(buf, " :innerjoinpath @ 0x%x ", (int) (node->jpath.innerjoinpath));
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :outerjoincost %f", node->jpath.path.outerjoincost);
+   sprintf(buf, " :outerjoincost %f ", node->jpath.path.outerjoincost);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :joinid ");
@@ -1234,9 +1230,9 @@ _outOrderKey(StringInfo str, OrderKey *node)
    char        buf[500];
 
    appendStringInfo(str, "ORDERKEY");
-   sprintf(buf, " :attribute_number %d", node->attribute_number);
+   sprintf(buf, " :attribute_number %d ", node->attribute_number);
    appendStringInfo(str, buf);
-   sprintf(buf, " :array_index %d", node->array_index);
+   sprintf(buf, " :array_index %d ", node->array_index);
    appendStringInfo(str, buf);
 
 }
@@ -1267,15 +1263,15 @@ _outMergeOrder(StringInfo str, MergeOrder *node)
 
    appendStringInfo(str, "MERGEORDER");
 
-   sprintf(buf, " :join_operator %d", node->join_operator);
+   sprintf(buf, " :join_operator %d ", node->join_operator);
    appendStringInfo(str, buf);
-   sprintf(buf, " :left_operator %d", node->left_operator);
+   sprintf(buf, " :left_operator %d ", node->left_operator);
    appendStringInfo(str, buf);
-   sprintf(buf, " :right_operator %d", node->right_operator);
+   sprintf(buf, " :right_operator %d ", node->right_operator);
    appendStringInfo(str, buf);
-   sprintf(buf, " :left_type %d", node->left_type);
+   sprintf(buf, " :left_type %d ", node->left_type);
    appendStringInfo(str, buf);
-   sprintf(buf, " :right_type %d", node->right_type);
+   sprintf(buf, " :right_type %d ", node->right_type);
    appendStringInfo(str, buf);
 
 }
@@ -1293,7 +1289,7 @@ _outCInfo(StringInfo str, CInfo *node)
    appendStringInfo(str, " :clause ");
    _outNode(str, node->clause);
 
-   sprintf(buf, " :selectivity %f", node->selectivity);
+   sprintf(buf, " :selectivity %f ", node->selectivity);
    appendStringInfo(str, buf);
    appendStringInfo(str, " :notclause ");
    appendStringInfo(str, node->notclause ? "true" : "false");
@@ -1304,7 +1300,7 @@ _outCInfo(StringInfo str, CInfo *node)
    appendStringInfo(str, " :mergesortorder ");
    _outNode(str, node->mergesortorder);
 
-   sprintf(buf, " :hashjoinoperator %u", node->hashjoinoperator);
+   sprintf(buf, " :hashjoinoperator %u ", node->hashjoinoperator);
    appendStringInfo(str, buf);
 
 }
@@ -1337,7 +1333,7 @@ _outHInfo(StringInfo str, HInfo *node)
    appendStringInfo(str, "HASHINFO");
 
    appendStringInfo(str, " :hashop ");
-   sprintf(buf, "%u", node->hashop);
+   sprintf(buf, " %u ", node->hashop);
    appendStringInfo(str, buf);
 
    appendStringInfo(str, " :jmkeys ");
@@ -1397,7 +1393,7 @@ _outDatum(StringInfo str, Datum value, Oid type)
        appendStringInfo(str, buf);
        for (i = 0; i < sizeof(Datum); i++)
        {
-           sprintf(buf, "%d ", (int) (s[i]));
+           sprintf(buf, " %d ", (int) (s[i]));
            appendStringInfo(str, buf);
        }
        sprintf(buf, "] ");
@@ -1426,7 +1422,7 @@ _outDatum(StringInfo str, Datum value, Oid type)
            appendStringInfo(str, buf);
            for (i = 0; i < length; i++)
            {
-               sprintf(buf, "%d ", (int) (s[i]));
+               sprintf(buf, " %d ", (int) (s[i]));
                appendStringInfo(str, buf);
            }
            sprintf(buf, "] ");
@@ -1452,28 +1448,28 @@ _outStream(StringInfo str, Stream *node)
 
    appendStringInfo(str, "STREAM");
 
-   sprintf(buf, " :pathptr @ 0x%x", (int) (node->pathptr));
+   sprintf(buf, " :pathptr @ 0x%x ", (int) (node->pathptr));
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :cinfo @ 0x%x", (int) (node->cinfo));
+   sprintf(buf, " :cinfo @ 0x%x ", (int) (node->cinfo));
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :clausetype %d", (int) (node->clausetype));
+   sprintf(buf, " :clausetype %d ", (int) (node->clausetype));
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :upstream @ 0x%x", (int) (node->upstream));
+   sprintf(buf, " :upstream @ 0x%x ", (int) (node->upstream));
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :downstream @ 0x%x", (int) (node->downstream));
+   sprintf(buf, " :downstream @ 0x%x ", (int) (node->downstream));
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :groupup %d", node->groupup);
+   sprintf(buf, " :groupup %d ", node->groupup);
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :groupcost %f", node->groupcost);
+   sprintf(buf, " :groupcost %f ", node->groupcost);
    appendStringInfo(str, buf);
 
-   sprintf(buf, " :groupsel %f", node->groupsel);
+   sprintf(buf, " :groupsel %f ", node->groupsel);
    appendStringInfo(str, buf);
 }
 
@@ -1495,15 +1491,15 @@ _outValue(StringInfo str, Value *value)
    switch (value->type)
    {
        case T_String:
-           sprintf(buf, "\"%s\"", value->val.str);
+           sprintf(buf, " \"%s\" ", value->val.str);
            appendStringInfo(str, buf);
            break;
        case T_Integer:
-           sprintf(buf, "%ld", value->val.ival);
+           sprintf(buf, " %ld ", value->val.ival);
            appendStringInfo(str, buf);
            break;
        case T_Float:
-           sprintf(buf, "%f", value->val.dval);
+           sprintf(buf, " %f ", value->val.dval);
            appendStringInfo(str, buf);
            break;
        default:
@@ -1517,7 +1513,7 @@ _outIdent(StringInfo str, Ident *node)
 {
    char        buf[500];
 
-   sprintf(buf, "IDENT \"%s\"", node->name);
+   sprintf(buf, " IDENT \"%s\" ", node->name);
    appendStringInfo(str, buf);
    return;
 }
@@ -1743,7 +1739,7 @@ _outNode(StringInfo str, void *obj)
                _outAConst(str, obj);
                break;
            default:
-               elog(NOTICE, "_outNode: don't know how to print type %d",
+               elog(NOTICE, "_outNode: don't know how to print type %d ",
                     nodeTag(obj));
                break;
        }