diff options
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 1bf18ec1918..46fd37cd7f3 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.29 1998/02/10 16:03:21 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.30 1998/02/13 03:27:45 vadim Exp $ * * NOTES * Every (plan) node in POSTGRES has an associated "out" routine which @@ -288,7 +288,14 @@ _outPlanInfo(StringInfo str, Plan *node) _outNode(str, node->lefttree); appendStringInfo(str, " :righttree "); _outNode(str, node->righttree); - + appendStringInfo(str, " :extprm "); + _outIntList(str, node->extParam); + appendStringInfo(str, " :locprm "); + _outIntList(str, node->locParam); + appendStringInfo(str, " :initplan "); + _outNode(str, node->initPlan); + sprintf(buf, " :nprm %d ", node->nParamExec); + appendStringInfo(str, buf); } /* @@ -408,6 +415,26 @@ _outHashJoin(StringInfo str, HashJoin *node) appendStringInfo(str, buf); } +static void +_outSubPlan(StringInfo str, SubPlan *node) +{ + char buf[500]; + + appendStringInfo(str, "SUBPLAN"); + appendStringInfo(str, " :plan "); + _outNode(str, node->plan); + sprintf(buf, " :planid %u ", node->plan_id); + appendStringInfo(str, buf); + appendStringInfo(str, " :rtable "); + _outNode(str, node->rtable); + appendStringInfo(str, " :setprm "); + _outIntList (str, node->setParam); + appendStringInfo(str, " :parprm "); + _outIntList (str, node->parParam); + appendStringInfo(str, " :slink "); + _outNode(str, node->sublink); +} + /* * Scan is a subclass of Node */ @@ -674,6 +701,9 @@ _outExpr(StringInfo str, Expr *node) case NOT_EXPR: opstr = "not"; break; + case SUBPLAN_EXPR: + opstr = "subp"; + break; } appendStringInfo(str, " :opType "); appendStringInfo(str, opstr); @@ -1654,6 +1684,9 @@ _outNode(StringInfo str, void *obj) case T_Hash: _outHash(str, obj); break; + case T_SubPlan: + _outSubPlan(str, obj); + break; case T_Tee: _outTee(str, obj); break; |