summaryrefslogtreecommitdiff
path: root/src/backend/nodes/outfuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r--src/backend/nodes/outfuncs.c37
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;