*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.33 1998/02/26 04:32:12 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.34 1998/04/27 02:58:05 momjian Exp $
*
* NOTES
* Every (plan) node in POSTGRES has an associated "out" routine which
static void
_outCreateStmt(StringInfo str, CreateStmt *node)
{
- appendStringInfo(str, "CREATE");
+ appendStringInfo(str, " CREATE ");
appendStringInfo(str, " :relname ");
appendStringInfo(str, node->relname);
- appendStringInfo(str, " :columns");
+ appendStringInfo(str, " :columns ");
_outNode(str, node->tableElts);
- appendStringInfo(str, " :inhRelnames");
+ appendStringInfo(str, " :inhRelnames ");
_outNode(str, node->inhRelnames);
- appendStringInfo(str, " :constraints");
+ appendStringInfo(str, " :constraints ");
_outNode(str, node->constraints);
}
static void
_outIndexStmt(StringInfo str, IndexStmt *node)
{
- appendStringInfo(str, "INDEX");
+ appendStringInfo(str, " INDEX ");
appendStringInfo(str, " :idxname ");
appendStringInfo(str, node->idxname);
static void
_outColumnDef(StringInfo str, ColumnDef *node)
{
- appendStringInfo(str, "COLUMNDEF");
+ appendStringInfo(str, " COLUMNDEF ");
appendStringInfo(str, " :colname ");
appendStringInfo(str, node->colname);
appendStringInfo(str, (node->is_not_null ? "true" : "false"));
appendStringInfo(str, " :defval ");
appendStringInfo(str, node->defval);
- appendStringInfo(str, " :constraints");
+ appendStringInfo(str, " :constraints ");
_outNode(str, node->constraints);
}
{
char buf[500];
- appendStringInfo(str, "TYPENAME");
+ appendStringInfo(str, " TYPENAME ");
appendStringInfo(str, " :name ");
appendStringInfo(str, node->name);
static void
_outIndexElem(StringInfo str, IndexElem *node)
{
- appendStringInfo(str, "INDEXELEM");
+ appendStringInfo(str, " INDEXELEM ");
appendStringInfo(str, " :name ");
appendStringInfo(str, node->name);
_outNode(str, node->args);
appendStringInfo(str, " :class ");
appendStringInfo(str, node->class);
- appendStringInfo(str, " :tname");
+ appendStringInfo(str, " :tname ");
_outNode(str, node->tname);
}
{
char buf[500];
- appendStringInfo(str, "QUERY");
+ appendStringInfo(str, " QUERY ");
appendStringInfo(str, " :command ");
sprintf(buf, " %d ", node->commandType);
{
char buf[500];
- appendStringInfo(str, "SORTCLAUSE");
+ appendStringInfo(str, " SORTCLAUSE ");
appendStringInfo(str, " :resdom ");
_outNode(str, node->resdom);
{
char buf[500];
- appendStringInfo(str, "GROUPCLAUSE");
+ appendStringInfo(str, " GROUPCLAUSE ");
appendStringInfo(str, " :entry ");
_outNode(str, node->entry);
static void
_outPlan(StringInfo str, Plan *node)
{
- appendStringInfo(str, "PLAN");
+ appendStringInfo(str, " PLAN ");
_outPlanInfo(str, (Plan *) node);
}
static void
_outResult(StringInfo str, Result *node)
{
- appendStringInfo(str, "RESULT");
+ appendStringInfo(str, " RESULT ");
_outPlanInfo(str, (Plan *) node);
appendStringInfo(str, " :resconstantqual ");
{
char buf[500];
- appendStringInfo(str, "APPEND");
+ appendStringInfo(str, " APPEND ");
_outPlanInfo(str, (Plan *) node);
appendStringInfo(str, " :unionplans ");
static void
_outJoin(StringInfo str, Join *node)
{
- appendStringInfo(str, "JOIN");
+ appendStringInfo(str, " JOIN ");
_outPlanInfo(str, (Plan *) node);
}
static void
_outNestLoop(StringInfo str, NestLoop *node)
{
- appendStringInfo(str, "NESTLOOP");
+ appendStringInfo(str, " NESTLOOP ");
_outPlanInfo(str, (Plan *) node);
}
{
char buf[500];
- appendStringInfo(str, "MERGEJOIN");
+ appendStringInfo(str, " MERGEJOIN ");
_outPlanInfo(str, (Plan *) node);
appendStringInfo(str, " :mergeclauses ");
{
char buf[500];
- appendStringInfo(str, "HASHJOIN");
+ appendStringInfo(str, " HASHJOIN ");
_outPlanInfo(str, (Plan *) node);
appendStringInfo(str, " :hashclauses ");
{
char buf[500];
- appendStringInfo(str, "SUBPLAN");
+ appendStringInfo(str, " SUBPLAN ");
appendStringInfo(str, " :plan ");
_outNode(str, node->plan);
sprintf(buf, " :planid %u ", node->plan_id);
{
char buf[500];
- appendStringInfo(str, "SCAN");
+ appendStringInfo(str, " SCAN ");
_outPlanInfo(str, (Plan *) node);
sprintf(buf, " :scanrelid %d ", node->scanrelid);
{
char buf[500];
- appendStringInfo(str, "SEQSCAN");
+ appendStringInfo(str, " SEQSCAN ");
_outPlanInfo(str, (Plan *) node);
sprintf(buf, " :scanrelid %d ", node->scanrelid);
{
char buf[500];
- appendStringInfo(str, "INDEXSCAN");
+ appendStringInfo(str, " INDEXSCAN ");
_outPlanInfo(str, (Plan *) node);
sprintf(buf, " :scanrelid %d ", node->scan.scanrelid);
{
char buf[500];
- appendStringInfo(str, "TEMP");
+ appendStringInfo(str, " TEMP ");
_outPlanInfo(str, (Plan *) node);
sprintf(buf, " :tempid %u ", node->tempid);
{
char buf[500];
- appendStringInfo(str, "SORT");
+ appendStringInfo(str, " SORT ");
_outPlanInfo(str, (Plan *) node);
sprintf(buf, " :tempid %u ", node->tempid);
_outAgg(StringInfo str, Agg *node)
{
- appendStringInfo(str, "AGG");
+ appendStringInfo(str, " AGG ");
_outPlanInfo(str, (Plan *) node);
appendStringInfo(str, " :aggs ");
{
char buf[500];
- appendStringInfo(str, "GRP");
+ appendStringInfo(str, " GRP ");
_outPlanInfo(str, (Plan *) node);
/* the actual Group fields */
{
char buf[500];
- appendStringInfo(str, "UNIQUE");
+ appendStringInfo(str, " UNIQUE ");
_outPlanInfo(str, (Plan *) node);
sprintf(buf, " :tempid %u ", node->tempid);
{
char buf[500];
- appendStringInfo(str, "HASH");
+ appendStringInfo(str, " HASH ");
_outPlanInfo(str, (Plan *) node);
appendStringInfo(str, " :hashkey ");
{
char buf[500];
- appendStringInfo(str, "TEE");
+ appendStringInfo(str, " TEE ");
_outPlanInfo(str, (Plan *) node);
sprintf(buf, " :leftParent %X ", (int) (node->leftParent));
{
char buf[500];
- appendStringInfo(str, "RESDOM");
+ appendStringInfo(str, " RESDOM ");
sprintf(buf, " :resno %d ", node->resno);
appendStringInfo(str, buf);
sprintf(buf, " :restype %u ", node->restype);
char buf[500];
int i;
- appendStringInfo(str, "FJOIN");
+ appendStringInfo(str, " FJOIN ");
appendStringInfo(str, " :initialized ");
appendStringInfo(str, node->fj_initialized ? "true" : "false");
sprintf(buf, " :nNodes %d ", node->fj_nNodes);
char buf[500];
char *opstr = NULL;
- appendStringInfo(str, "EXPR");
+ appendStringInfo(str, " EXPR ");
sprintf(buf, " :typeOid %u ", node->typeOid);
appendStringInfo(str, buf);
{
char buf[500];
- appendStringInfo(str, "VAR");
+ appendStringInfo(str, " VAR ");
sprintf(buf, " :varno %d ", node->varno);
appendStringInfo(str, buf);
sprintf(buf, " :varattno %d ", node->varattno);
{
char buf[500];
- appendStringInfo(str, "CONST");
+ appendStringInfo(str, " CONST ");
sprintf(buf, " :consttype %u ", node->consttype);
appendStringInfo(str, buf);
sprintf(buf, " :constlen %d ", node->constlen);
{
char buf[500];
- appendStringInfo(str, "AGGREG");
+ appendStringInfo(str, " AGGREG ");
appendStringInfo(str, " :aggname ");
appendStringInfo(str, (char *) node->aggname);
sprintf(buf, " :basetype %u ", node->basetype);
{
char buf[500];
- appendStringInfo(str, "SUBLINK");
+ appendStringInfo(str, " SUBLINK ");
sprintf(buf, " :subLinkType %d ", node->subLinkType);
appendStringInfo(str, buf);
appendStringInfo(str, " :useor ");
char buf[500];
int i;
- appendStringInfo(str, "ARRAY");
+ appendStringInfo(str, " ARRAY ");
sprintf(buf, " :arrayelemtype %u ", node->arrayelemtype);
appendStringInfo(str, buf);
sprintf(buf, " :arrayelemlength %d ", node->arrayelemlength);
{
char buf[500];
- appendStringInfo(str, "ARRAYREF");
+ appendStringInfo(str, " ARRAYREF ");
sprintf(buf, " :refelemtype %u ", node->refelemtype);
appendStringInfo(str, buf);
sprintf(buf, " :refattrlength %d ", node->refattrlength);
{
char buf[500];
- appendStringInfo(str, "FUNC");
+ appendStringInfo(str, " FUNC ");
sprintf(buf, " :funcid %u ", node->funcid);
appendStringInfo(str, buf);
sprintf(buf, " :functype %u ", node->functype);
{
char buf[500];
- appendStringInfo(str, "OPER");
+ appendStringInfo(str, " OPER ");
sprintf(buf, " :opno %u ", node->opno);
appendStringInfo(str, buf);
sprintf(buf, " :opid %u ", node->opid);
{
char buf[500];
- appendStringInfo(str, "PARAM");
+ appendStringInfo(str, " PARAM ");
sprintf(buf, " :paramkind %d ", node->paramkind);
appendStringInfo(str, buf);
sprintf(buf, " :paramid %d ", node->paramid);
{
char buf[500];
- appendStringInfo(str, "ESTATE");
+ appendStringInfo(str, " ESTATE ");
sprintf(buf, " :direction %d ", node->es_direction);
appendStringInfo(str, buf);
{
char buf[500];
- appendStringInfo(str, "REL");
+ appendStringInfo(str, " REL ");
appendStringInfo(str, " :relids ");
_outIntList(str, node->relids);
static void
_outTargetEntry(StringInfo str, TargetEntry *node)
{
- appendStringInfo(str, "TLE");
+ appendStringInfo(str, " TLE ");
appendStringInfo(str, " :resdom ");
_outNode(str, node->resdom);
{
char buf[500];
- appendStringInfo(str, "RTE");
+ appendStringInfo(str, " RTE ");
appendStringInfo(str, " :relname ");
appendStringInfo(str, node->relname);
{
char buf[500];
- appendStringInfo(str, "PATH");
+ appendStringInfo(str, " PATH ");
sprintf(buf, " :pathtype %d ", node->pathtype);
appendStringInfo(str, buf);
{
char buf[500];
- appendStringInfo(str, "INDEXPATH");
+ appendStringInfo(str, " INDEXPATH ");
sprintf(buf, " :pathtype %d ", node->path.pathtype);
appendStringInfo(str, buf);
{
char buf[500];
- appendStringInfo(str, "JOINPATH");
+ appendStringInfo(str, " JOINPATH ");
sprintf(buf, " :pathtype %d ", node->path.pathtype);
appendStringInfo(str, buf);
{
char buf[500];
- appendStringInfo(str, "MERGEPATH");
+ appendStringInfo(str, " MERGEPATH ");
sprintf(buf, " :pathtype %d ", node->jpath.path.pathtype);
appendStringInfo(str, buf);
{
char buf[500];
- appendStringInfo(str, "HASHPATH");
+ appendStringInfo(str, " HASHPATH ");
sprintf(buf, " :pathtype %d ", node->jpath.path.pathtype);
appendStringInfo(str, buf);
{
char buf[500];
- appendStringInfo(str, "ORDERKEY");
+ appendStringInfo(str, " ORDERKEY ");
sprintf(buf, " :attribute_number %d ", node->attribute_number);
appendStringInfo(str, buf);
sprintf(buf, " :array_index %d ", node->array_index);
static void
_outJoinKey(StringInfo str, JoinKey *node)
{
- appendStringInfo(str, "JOINKEY");
+ appendStringInfo(str, " JOINKEY ");
appendStringInfo(str, " :outer ");
_outNode(str, node->outer);
{
char buf[500];
- appendStringInfo(str, "MERGEORDER");
+ appendStringInfo(str, " MERGEORDER ");
sprintf(buf, " :join_operator %d ", node->join_operator);
appendStringInfo(str, buf);
{
char buf[500];
- appendStringInfo(str, "CINFO");
+ appendStringInfo(str, " CINFO ");
appendStringInfo(str, " :clause ");
_outNode(str, node->clause);
static void
_outJoinMethod(StringInfo str, JoinMethod *node)
{
- appendStringInfo(str, "JOINMETHOD");
+ appendStringInfo(str, " JOINMETHOD ");
appendStringInfo(str, " :jmkeys ");
_outNode(str, node->jmkeys);
{
char buf[500];
- appendStringInfo(str, "HASHINFO");
+ appendStringInfo(str, " HASHINFO ");
appendStringInfo(str, " :hashop ");
sprintf(buf, " %u ", node->hashop);
static void
_outJInfo(StringInfo str, JInfo *node)
{
- appendStringInfo(str, "JINFO");
+ appendStringInfo(str, " JINFO ");
appendStringInfo(str, " :otherrels ");
_outIntList(str, node->otherrels);
static void
_outIter(StringInfo str, Iter *node)
{
- appendStringInfo(str, "ITER");
+ appendStringInfo(str, " ITER ");
appendStringInfo(str, " :iterexpr ");
_outNode(str, node->iterexpr);
{
char buf[500];
- appendStringInfo(str, "STREAM");
+ appendStringInfo(str, " STREAM ");
sprintf(buf, " :pathptr @ 0x%x ", (int) (node->pathptr));
appendStringInfo(str, buf);
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.28 1998/02/26 04:32:17 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.29 1998/04/27 02:58:07 momjian Exp $
*
* NOTES
* Most of the read functions for plan nodes are tested. (In fact, they
token = lsptok(NULL, &length);
- if (!strncmp(token, "PLAN", 4))
+ if (!strncmp(token, "PLAN", length))
{
return_value = _readPlan();
}
- else if (!strncmp(token, "RESULT", 6))
+ else if (!strncmp(token, "RESULT", length))
{
return_value = _readResult();
}
- else if (!strncmp(token, "APPEND", 6))
+ else if (!strncmp(token, "APPEND", length))
{
return_value = _readAppend();
}
- else if (!strncmp(token, "JOIN", 4))
+ else if (!strncmp(token, "JOIN", length))
{
return_value = _readJoin();
}
- else if (!strncmp(token, "NESTLOOP", 8))
+ else if (!strncmp(token, "NESTLOOP", length))
{
return_value = _readNestLoop();
}
- else if (!strncmp(token, "MERGEJOIN", 9))
+ else if (!strncmp(token, "MERGEJOIN", length))
{
return_value = _readMergeJoin();
}
- else if (!strncmp(token, "HASHJOIN", 8))
+ else if (!strncmp(token, "HASHJOIN", length))
{
return_value = _readHashJoin();
}
- else if (!strncmp(token, "SCAN", 4))
+ else if (!strncmp(token, "SCAN", length))
{
return_value = _readScan();
}
- else if (!strncmp(token, "SEQSCAN", 7))
+ else if (!strncmp(token, "SEQSCAN", length))
{
return_value = _readSeqScan();
}
- else if (!strncmp(token, "INDEXSCAN", 9))
+ else if (!strncmp(token, "INDEXSCAN", length))
{
return_value = _readIndexScan();
}
- else if (!strncmp(token, "TEMP", 4))
+ else if (!strncmp(token, "TEMP", length))
{
return_value = _readTemp();
}
- else if (!strncmp(token, "SORT", 4))
+ else if (!strncmp(token, "SORT", length))
{
return_value = _readSort();
}
- else if (!strncmp(token, "AGGREG", 6))
+ else if (!strncmp(token, "AGGREG", length))
{
return_value = _readAggreg();
}
- else if (!strncmp(token, "SUBLINK", 6))
+ else if (!strncmp(token, "SUBLINK", length))
{
return_value = _readSubLink();
}
- else if (!strncmp(token, "AGG", 3))
+ else if (!strncmp(token, "AGG", length))
{
return_value = _readAgg();
}
- else if (!strncmp(token, "UNIQUE", 4))
+ else if (!strncmp(token, "UNIQUE", length))
{
return_value = _readUnique();
}
- else if (!strncmp(token, "HASH", 4))
+ else if (!strncmp(token, "HASH", length))
{
return_value = _readHash();
}
- else if (!strncmp(token, "RESDOM", 6))
+ else if (!strncmp(token, "RESDOM", length))
{
return_value = _readResdom();
}
- else if (!strncmp(token, "EXPR", 4))
+ else if (!strncmp(token, "EXPR", length))
{
return_value = _readExpr();
}
- else if (!strncmp(token, "ARRAYREF", 7))
+ else if (!strncmp(token, "ARRAYREF", length))
{
- /* make sure this strncmp is done before that of ARRAY */
return_value = _readArrayRef();
}
- else if (!strncmp(token, "ARRAY", 5))
+ else if (!strncmp(token, "ARRAY", length))
{
return_value = _readArray();
}
- else if (!strncmp(token, "VAR", 3))
+ else if (!strncmp(token, "VAR", length))
{
return_value = _readVar();
}
- else if (!strncmp(token, "CONST", 5))
+ else if (!strncmp(token, "CONST", length))
{
return_value = _readConst();
}
- else if (!strncmp(token, "FUNC", 4))
+ else if (!strncmp(token, "FUNC", length))
{
return_value = _readFunc();
}
- else if (!strncmp(token, "OPER", 4))
+ else if (!strncmp(token, "OPER", length))
{
return_value = _readOper();
}
- else if (!strncmp(token, "PARAM", 5))
+ else if (!strncmp(token, "PARAM", length))
{
return_value = _readParam();
}
- else if (!strncmp(token, "ESTATE", 6))
+ else if (!strncmp(token, "ESTATE", length))
{
return_value = _readEState();
}
- else if (!strncmp(token, "REL", 3))
+ else if (!strncmp(token, "REL", length))
{
return_value = _readRel();
}
- else if (!strncmp(token, "TLE", 3))
+ else if (!strncmp(token, "TLE", length))
{
return_value = _readTargetEntry();
}
- else if (!strncmp(token, "RTE", 3))
+ else if (!strncmp(token, "RTE", length))
{
return_value = _readRangeTblEntry();
}
- else if (!strncmp(token, "PATH", 4))
+ else if (!strncmp(token, "PATH", length))
{
return_value = _readPath();
}
- else if (!strncmp(token, "INDEXPATH", 9))
+ else if (!strncmp(token, "INDEXPATH", length))
{
return_value = _readIndexPath();
}
- else if (!strncmp(token, "JOINPATH", 8))
+ else if (!strncmp(token, "JOINPATH", length))
{
return_value = _readJoinPath();
}
- else if (!strncmp(token, "MERGEPATH", 9))
+ else if (!strncmp(token, "MERGEPATH", length))
{
return_value = _readMergePath();
}
- else if (!strncmp(token, "HASHPATH", 8))
+ else if (!strncmp(token, "HASHPATH", length))
{
return_value = _readHashPath();
}
- else if (!strncmp(token, "ORDERKEY", 8))
+ else if (!strncmp(token, "ORDERKEY", length))
{
return_value = _readOrderKey();
}
- else if (!strncmp(token, "JOINKEY", 7))
+ else if (!strncmp(token, "JOINKEY", length))
{
return_value = _readJoinKey();
}
- else if (!strncmp(token, "MERGEORDER", 10))
+ else if (!strncmp(token, "MERGEORDER", length))
{
return_value = _readMergeOrder();
}
- else if (!strncmp(token, "CINFO", 5))
+ else if (!strncmp(token, "CINFO", length))
{
return_value = _readCInfo();
}
- else if (!strncmp(token, "JOINMETHOD", 10))
+ else if (!strncmp(token, "JOINMETHOD", length))
{
return_value = _readJoinMethod();
}
- else if (!strncmp(token, "JINFO", 5))
+ else if (!strncmp(token, "JINFO", length))
{
return_value = _readJInfo();
}
- else if (!strncmp(token, "HINFO", 5))
+ else if (!strncmp(token, "HINFO", length))
{
return_value = _readHInfo();
}
- else if (!strncmp(token, "ITER", 4))
+ else if (!strncmp(token, "ITER", length))
{
return_value = _readIter();
}
- else if (!strncmp(token, "QUERY", 5))
+ else if (!strncmp(token, "QUERY", length))
{
return_value = _readQuery();
}
- else if (!strncmp(token, "SORTCLAUSE", 10))
+ else if (!strncmp(token, "SORTCLAUSE", length))
{
return_value = _readSortClause();
}
- else if (!strncmp(token, "GROUPCLAUSE", 10))
+ else if (!strncmp(token, "GROUPCLAUSE", length))
{
return_value = _readGroupClause();
}