aboutsummaryrefslogtreecommitdiff
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.c122
1 files changed, 52 insertions, 70 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
index b11a633b0fa..2ae3b2c9d50 100644
--- a/src/backend/nodes/outfuncs.c
+++ b/src/backend/nodes/outfuncs.c
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: outfuncs.c,v 1.56 1998/12/17 13:09:52 scrappy Exp $
+ * $Id: outfuncs.c,v 1.57 1998/12/18 14:45:08 wieck Exp $
*
* NOTES
* Every (plan) node in POSTGRES has an associated "out" routine which
@@ -69,7 +69,8 @@ _outIntList(StringInfo str, List *list)
static void
_outCreateStmt(StringInfo str, CreateStmt *node)
{
- appendStringInfo(str, " CREATE :relname %s :columns ", node->relname);
+ appendStringInfo(str, " CREATE :relname %s :columns ",
+ stringStringInfo(node->relname));
_outNode(str, node->tableElts);
appendStringInfo(str, " :inhRelnames ");
@@ -83,7 +84,9 @@ _outIndexStmt(StringInfo str, IndexStmt *node)
{
appendStringInfo(str,
" INDEX :idxname %s :relname %s :accessMethod %s :indexParams ",
- node->idxname, node->relname, node->accessMethod);
+ stringStringInfo(node->idxname),
+ stringStringInfo(node->relname),
+ stringStringInfo(node->accessMethod));
_outNode(str, node->indexParams);
appendStringInfo(str, " :withClause ");
@@ -109,7 +112,8 @@ _outSelectStmt(StringInfo str, SelectStmt *node)
static void
_outFuncCall(StringInfo str, FuncCall *node)
{
- appendStringInfo(str, "FUNCTION %s :args ", node->funcname);
+ appendStringInfo(str, "FUNCTION %s :args ",
+ stringStringInfo(node->funcname));
_outNode(str, node->args);
}
@@ -118,11 +122,13 @@ _outFuncCall(StringInfo str, FuncCall *node)
static void
_outColumnDef(StringInfo str, ColumnDef *node)
{
- appendStringInfo(str, " COLUMNDEF :colname %s :typename ", node->colname);
+ appendStringInfo(str, " COLUMNDEF :colname %s :typename ",
+ stringStringInfo(node->colname));
_outNode(str, node->typename);
appendStringInfo(str, " :is_not_null %s :defval %s :constraints ",
- node->is_not_null ? "true" : "false", node->defval);
+ node->is_not_null ? "true" : "false",
+ stringStringInfo(node->defval));
_outNode(str, node->constraints);
}
@@ -131,7 +137,7 @@ _outTypeName(StringInfo str, TypeName *node)
{
appendStringInfo(str,
" TYPENAME :name %s :timezone %s :setof %s typmod %d :arrayBounds ",
- node->name,
+ stringStringInfo(node->name),
node->timezone ? "true" : "false",
node->setof ? "true" : "false",
node->typmod);
@@ -143,10 +149,12 @@ _outTypeName(StringInfo str, TypeName *node)
static void
_outIndexElem(StringInfo str, IndexElem *node)
{
- appendStringInfo(str, " INDEXELEM :name %s :args ", node->name);
+ appendStringInfo(str, " INDEXELEM :name %s :args ",
+ stringStringInfo(node->name));
_outNode(str, node->args);
- appendStringInfo(str, " :class %s :typename ", node->class);
+ appendStringInfo(str, " :class %s :typename ",
+ stringStringInfo(node->class));
_outNode(str, node->typename);
}
@@ -161,20 +169,20 @@ _outQuery(StringInfo str, Query *node)
{
case T_CreateStmt:
appendStringInfo(str, " :create %s ",
- ((CreateStmt *) (node->utilityStmt))->relname);
+ stringStringInfo(((CreateStmt *) (node->utilityStmt))->relname));
_outNode(str, node->utilityStmt);
break;
case T_IndexStmt:
appendStringInfo(str, " :index %s on %s ",
- ((IndexStmt *) (node->utilityStmt))->idxname,
- ((IndexStmt *) (node->utilityStmt))->relname);
+ stringStringInfo(((IndexStmt *) (node->utilityStmt))->idxname),
+ stringStringInfo(((IndexStmt *) (node->utilityStmt))->relname));
_outNode(str, node->utilityStmt);
break;
case T_NotifyStmt:
appendStringInfo(str, " :utility %s ",
- ((NotifyStmt *) (node->utilityStmt))->relname);
+ stringStringInfo(((NotifyStmt *) (node->utilityStmt))->relname));
break;
default:
@@ -183,18 +191,19 @@ _outQuery(StringInfo str, Query *node)
}
else
{
- appendStringInfo(str, " :utility %s", NULL);
+ appendStringInfo(str, " :utility <>");
}
appendStringInfo(str,
" :resultRelation %d :into %s :isPortal %s :isBinary %s :unionall %s ",
node->resultRelation,
- node->into,
+ stringStringInfo(node->into),
node->isPortal ? "true" : "false",
node->isBinary ? "true" : "false",
node->unionall ? "true" : "false");
- appendStringInfo(str, " :unique %s :sortClause ", node->uniqueFlag);
+ appendStringInfo(str, " :unique %s :sortClause ",
+ stringStringInfo(node->uniqueFlag));
_outNode(str, node->sortClause);
appendStringInfo(str, " :rtable ");
@@ -563,7 +572,7 @@ _outResdom(StringInfo str, Resdom *node)
node->restypmod);
appendStringInfo(str, " :resname \"%s\" :reskey %d :reskeyop %u :resjunk %d",
- node->resname,
+ stringStringInfo(node->resname),
node->reskey,
node->reskeyop,
node->resjunk);
@@ -620,7 +629,7 @@ _outExpr(StringInfo str, Expr *node)
opstr = "subp";
break;
}
- appendStringInfo(str, " :opType %s :oper ", opstr);
+ appendStringInfo(str, " :opType %s :oper ", stringStringInfo(opstr));
_outNode(str, node->oper);
appendStringInfo(str, " :args ");
@@ -675,7 +684,7 @@ _outAggreg(StringInfo str, Aggreg *node)
{
appendStringInfo(str,
" AGGREG :aggname %s :basetype %u :aggtype %u :target ",
- node->aggname,
+ stringStringInfo(node->aggname),
node->basetype,
node->aggtype);
_outNode(str, node->target);
@@ -802,7 +811,7 @@ _outParam(StringInfo str, Param *node)
" PARAM :paramkind %d :paramid %d :paramname %s :paramtype %u ",
node->paramkind,
node->paramid,
- node->paramname,
+ stringStringInfo(node->paramname),
node->paramtype);
appendStringInfo(str, " :param_tlist ");
@@ -887,8 +896,8 @@ _outRangeTblEntry(StringInfo str, RangeTblEntry *node)
{
appendStringInfo(str,
" RTE :relname %s :refname %s :relid %u :inh %s :inFromCl %s :skipAcl %s",
- node->relname,
- node->refname,
+ stringStringInfo(node->relname),
+ stringStringInfo(node->refname),
node->relid,
node->inh ? "true" : "false",
node->inFromCl ? "true" : "false",
@@ -1297,7 +1306,7 @@ _outAExpr(StringInfo str, A_Expr *node)
break;
default:
#endif
- appendStringInfo(str, node->opname);
+ appendStringInfo(str, stringStringInfo(node->opname));
#ifdef PARSEDEBUG
break;
}
@@ -1310,21 +1319,17 @@ _outAExpr(StringInfo str, A_Expr *node)
static void
_outValue(StringInfo str, Value *value)
{
- char buf[500];
-
switch (value->type)
{
case T_String:
- sprintf(buf, " \"%s\" ", value->val.str);
- appendStringInfo(str, buf);
+ appendStringInfo(str, " \"%s\" ",
+ stringStringInfo(value->val.str));
break;
case T_Integer:
- sprintf(buf, " %ld ", value->val.ival);
- appendStringInfo(str, buf);
+ appendStringInfo(str, " %ld ", value->val.ival);
break;
case T_Float:
- sprintf(buf, " %f ", value->val.dval);
- appendStringInfo(str, buf);
+ appendStringInfo(str, " %f ", value->val.dval);
break;
default:
break;
@@ -1335,20 +1340,14 @@ _outValue(StringInfo str, Value *value)
static void
_outIdent(StringInfo str, Ident *node)
{
- char buf[500];
-
- sprintf(buf, " IDENT \"%s\" ", node->name);
- appendStringInfo(str, buf);
+ appendStringInfo(str, " IDENT \"%s\" ", stringStringInfo(node->name));
return;
}
static void
_outAConst(StringInfo str, A_Const *node)
{
- char buf[500];
-
- sprintf(buf, "CONST ");
- appendStringInfo(str, buf);
+ appendStringInfo(str, "CONST ");
_outValue(str, &(node->val));
return;
}
@@ -1356,46 +1355,37 @@ _outAConst(StringInfo str, A_Const *node)
static void
_outConstraint(StringInfo str, Constraint *node)
{
- char buf[500];
-
- sprintf(buf," %s :type",
- ((node->name != NULL)? node->name: "<>"));
- appendStringInfo(str, buf);
+ appendStringInfo(str," %s :type",
+ stringStringInfo(node->name));
switch (node->contype)
{
case CONSTR_PRIMARY:
- sprintf(buf," PRIMARY KEY ");
- appendStringInfo(str, buf);
+ appendStringInfo(str, " PRIMARY KEY ");
_outNode(str, node->keys);
break;
case CONSTR_CHECK:
- sprintf(buf," CHECK ");
- appendStringInfo(str, buf);
- appendStringInfo(str, node->def);
+ appendStringInfo(str, " CHECK %s",
+ stringStringInfo(node->def));
break;
case CONSTR_DEFAULT:
- sprintf(buf," DEFAULT ");
- appendStringInfo(str, buf);
- appendStringInfo(str, node->def);
+ appendStringInfo(str, " DEFAULT %s",
+ stringStringInfo(node->def));
break;
case CONSTR_NOTNULL:
- sprintf(buf," NOT NULL ");
- appendStringInfo(str, buf);
+ appendStringInfo(str, " NOT NULL ");
break;
case CONSTR_UNIQUE:
- sprintf(buf," UNIQUE ");
- appendStringInfo(str, buf);
+ appendStringInfo(str, " UNIQUE ");
_outNode(str, node->keys);
break;
default:
- sprintf(buf,"<unrecognized constraint>");
- appendStringInfo(str, buf);
+ appendStringInfo(str, "<unrecognized constraint>");
break;
}
return;
@@ -1404,13 +1394,9 @@ _outConstraint(StringInfo str, Constraint *node)
static void
_outCaseExpr(StringInfo str, CaseExpr *node)
{
- char buf[500];
-
- sprintf(buf, "CASE ");
- appendStringInfo(str, buf);
+ appendStringInfo(str, "CASE ");
_outNode(str, node->args);
- sprintf(buf, " :default ");
- appendStringInfo(str, buf);
+ appendStringInfo(str, " :default ");
_outNode(str, node->defresult);
return;
}
@@ -1418,13 +1404,9 @@ _outCaseExpr(StringInfo str, CaseExpr *node)
static void
_outCaseWhen(StringInfo str, CaseWhen *node)
{
- char buf[500];
-
- sprintf(buf, " WHEN ");
- appendStringInfo(str, buf);
+ appendStringInfo(str, " WHEN ");
_outNode(str, node->expr);
- sprintf(buf, " :then ");
- appendStringInfo(str, buf);
+ appendStringInfo(str, " :then ");
_outNode(str, node->result);
return;
}