diff options
author | Robert Haas <rhaas@postgresql.org> | 2013-10-31 10:55:59 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2013-10-31 10:55:59 -0400 |
commit | cacbdd78106526d7c4f11f90b538f96ba8696fb0 (patch) | |
tree | 68b44c07247b99a1b316c01f66ecf0f8d6e96127 /src/backend/nodes/outfuncs.c | |
parent | 343bb134ea20d3b7286c620c15a067da79cab724 (diff) | |
download | postgresql-cacbdd78106526d7c4f11f90b538f96ba8696fb0.tar.gz postgresql-cacbdd78106526d7c4f11f90b538f96ba8696fb0.zip |
Use appendStringInfoString instead of appendStringInfo where possible.
This shaves a few cycles, and generally seems like good programming
practice.
David Rowley
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index a2903f92520..817b1494777 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -111,7 +111,7 @@ _outToken(StringInfo str, const char *s) { if (s == NULL || *s == '\0') { - appendStringInfo(str, "<>"); + appendStringInfoString(str, "<>"); return; } @@ -214,19 +214,19 @@ _outDatum(StringInfo str, Datum value, int typlen, bool typbyval) appendStringInfo(str, "%u [ ", (unsigned int) length); for (i = 0; i < (Size) sizeof(Datum); i++) appendStringInfo(str, "%d ", (int) (s[i])); - appendStringInfo(str, "]"); + appendStringInfoChar(str, ']'); } else { s = (char *) DatumGetPointer(value); if (!PointerIsValid(s)) - appendStringInfo(str, "0 [ ]"); + appendStringInfoString(str, "0 [ ]"); else { appendStringInfo(str, "%u [ ", (unsigned int) length); for (i = 0; i < length; i++) appendStringInfo(str, "%d ", (int) (s[i])); - appendStringInfo(str, "]"); + appendStringInfoChar(str, ']'); } } } @@ -362,19 +362,19 @@ _outMergeAppend(StringInfo str, const MergeAppend *node) WRITE_INT_FIELD(numCols); - appendStringInfo(str, " :sortColIdx"); + appendStringInfoString(str, " :sortColIdx"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %d", node->sortColIdx[i]); - appendStringInfo(str, " :sortOperators"); + appendStringInfoString(str, " :sortOperators"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->sortOperators[i]); - appendStringInfo(str, " :collations"); + appendStringInfoString(str, " :collations"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->collations[i]); - appendStringInfo(str, " :nullsFirst"); + appendStringInfoString(str, " :nullsFirst"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %s", booltostr(node->nullsFirst[i])); } @@ -391,11 +391,11 @@ _outRecursiveUnion(StringInfo str, const RecursiveUnion *node) WRITE_INT_FIELD(wtParam); WRITE_INT_FIELD(numCols); - appendStringInfo(str, " :dupColIdx"); + appendStringInfoString(str, " :dupColIdx"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %d", node->dupColIdx[i]); - appendStringInfo(str, " :dupOperators"); + appendStringInfoString(str, " :dupOperators"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->dupOperators[i]); @@ -599,19 +599,19 @@ _outMergeJoin(StringInfo str, const MergeJoin *node) numCols = list_length(node->mergeclauses); - appendStringInfo(str, " :mergeFamilies"); + appendStringInfoString(str, " :mergeFamilies"); for (i = 0; i < numCols; i++) appendStringInfo(str, " %u", node->mergeFamilies[i]); - appendStringInfo(str, " :mergeCollations"); + appendStringInfoString(str, " :mergeCollations"); for (i = 0; i < numCols; i++) appendStringInfo(str, " %u", node->mergeCollations[i]); - appendStringInfo(str, " :mergeStrategies"); + appendStringInfoString(str, " :mergeStrategies"); for (i = 0; i < numCols; i++) appendStringInfo(str, " %d", node->mergeStrategies[i]); - appendStringInfo(str, " :mergeNullsFirst"); + appendStringInfoString(str, " :mergeNullsFirst"); for (i = 0; i < numCols; i++) appendStringInfo(str, " %d", (int) node->mergeNullsFirst[i]); } @@ -638,11 +638,11 @@ _outAgg(StringInfo str, const Agg *node) WRITE_ENUM_FIELD(aggstrategy, AggStrategy); WRITE_INT_FIELD(numCols); - appendStringInfo(str, " :grpColIdx"); + appendStringInfoString(str, " :grpColIdx"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %d", node->grpColIdx[i]); - appendStringInfo(str, " :grpOperators"); + appendStringInfoString(str, " :grpOperators"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->grpOperators[i]); @@ -661,21 +661,21 @@ _outWindowAgg(StringInfo str, const WindowAgg *node) WRITE_UINT_FIELD(winref); WRITE_INT_FIELD(partNumCols); - appendStringInfo(str, " :partColIdx"); + appendStringInfoString(str, " :partColIdx"); for (i = 0; i < node->partNumCols; i++) appendStringInfo(str, " %d", node->partColIdx[i]); - appendStringInfo(str, " :partOperations"); + appendStringInfoString(str, " :partOperations"); for (i = 0; i < node->partNumCols; i++) appendStringInfo(str, " %u", node->partOperators[i]); WRITE_INT_FIELD(ordNumCols); - appendStringInfo(str, " :ordColIdx"); + appendStringInfoString(str, " :ordColIdx"); for (i = 0; i < node->ordNumCols; i++) appendStringInfo(str, " %d", node->ordColIdx[i]); - appendStringInfo(str, " :ordOperations"); + appendStringInfoString(str, " :ordOperations"); for (i = 0; i < node->ordNumCols; i++) appendStringInfo(str, " %u", node->ordOperators[i]); @@ -695,11 +695,11 @@ _outGroup(StringInfo str, const Group *node) WRITE_INT_FIELD(numCols); - appendStringInfo(str, " :grpColIdx"); + appendStringInfoString(str, " :grpColIdx"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %d", node->grpColIdx[i]); - appendStringInfo(str, " :grpOperators"); + appendStringInfoString(str, " :grpOperators"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->grpOperators[i]); } @@ -723,19 +723,19 @@ _outSort(StringInfo str, const Sort *node) WRITE_INT_FIELD(numCols); - appendStringInfo(str, " :sortColIdx"); + appendStringInfoString(str, " :sortColIdx"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %d", node->sortColIdx[i]); - appendStringInfo(str, " :sortOperators"); + appendStringInfoString(str, " :sortOperators"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->sortOperators[i]); - appendStringInfo(str, " :collations"); + appendStringInfoString(str, " :collations"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->collations[i]); - appendStringInfo(str, " :nullsFirst"); + appendStringInfoString(str, " :nullsFirst"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %s", booltostr(node->nullsFirst[i])); } @@ -751,11 +751,11 @@ _outUnique(StringInfo str, const Unique *node) WRITE_INT_FIELD(numCols); - appendStringInfo(str, " :uniqColIdx"); + appendStringInfoString(str, " :uniqColIdx"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %d", node->uniqColIdx[i]); - appendStringInfo(str, " :uniqOperators"); + appendStringInfoString(str, " :uniqOperators"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->uniqOperators[i]); } @@ -787,11 +787,11 @@ _outSetOp(StringInfo str, const SetOp *node) WRITE_ENUM_FIELD(strategy, SetOpStrategy); WRITE_INT_FIELD(numCols); - appendStringInfo(str, " :dupColIdx"); + appendStringInfoString(str, " :dupColIdx"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %d", node->dupColIdx[i]); - appendStringInfo(str, " :dupOperators"); + appendStringInfoString(str, " :dupOperators"); for (i = 0; i < node->numCols; i++) appendStringInfo(str, " %u", node->dupOperators[i]); @@ -928,9 +928,9 @@ _outConst(StringInfo str, const Const *node) WRITE_BOOL_FIELD(constisnull); WRITE_LOCATION_FIELD(location); - appendStringInfo(str, " :constvalue "); + appendStringInfoString(str, " :constvalue "); if (node->constisnull) - appendStringInfo(str, "<>"); + appendStringInfoString(str, "<>"); else _outDatum(str, node->constvalue, node->constlen, node->constbyval); } @@ -1104,7 +1104,7 @@ _outBoolExpr(StringInfo str, const BoolExpr *node) opstr = "not"; break; } - appendStringInfo(str, " :boolop "); + appendStringInfoString(str, " :boolop "); _outToken(str, opstr); WRITE_NODE_FIELD(args); @@ -1477,9 +1477,9 @@ static void _outPathInfo(StringInfo str, const Path *node) { WRITE_ENUM_FIELD(pathtype, NodeTag); - appendStringInfo(str, " :parent_relids "); + appendStringInfoString(str, " :parent_relids "); _outBitmapset(str, node->parent->relids); - appendStringInfo(str, " :required_outer "); + appendStringInfoString(str, " :required_outer "); if (node->param_info) _outBitmapset(str, node->param_info->ppi_req_outer); else @@ -2232,12 +2232,12 @@ _outQuery(StringInfo str, const Query *node) WRITE_NODE_FIELD(utilityStmt); break; default: - appendStringInfo(str, " :utilityStmt ?"); + appendStringInfoString(str, " :utilityStmt ?"); break; } } else - appendStringInfo(str, " :utilityStmt <>"); + appendStringInfoString(str, " :utilityStmt <>"); WRITE_INT_FIELD(resultRelation); WRITE_BOOL_FIELD(hasAggs); @@ -2421,46 +2421,46 @@ _outAExpr(StringInfo str, const A_Expr *node) switch (node->kind) { case AEXPR_OP: - appendStringInfo(str, " "); + appendStringInfoChar(str, ' '); WRITE_NODE_FIELD(name); break; case AEXPR_AND: - appendStringInfo(str, " AND"); + appendStringInfoString(str, " AND"); break; case AEXPR_OR: - appendStringInfo(str, " OR"); + appendStringInfoString(str, " OR"); break; case AEXPR_NOT: - appendStringInfo(str, " NOT"); + appendStringInfoString(str, " NOT"); break; case AEXPR_OP_ANY: - appendStringInfo(str, " "); + appendStringInfoChar(str, ' '); WRITE_NODE_FIELD(name); - appendStringInfo(str, " ANY "); + appendStringInfoString(str, " ANY "); break; case AEXPR_OP_ALL: - appendStringInfo(str, " "); + appendStringInfoChar(str, ' '); WRITE_NODE_FIELD(name); - appendStringInfo(str, " ALL "); + appendStringInfoString(str, " ALL "); break; case AEXPR_DISTINCT: - appendStringInfo(str, " DISTINCT "); + appendStringInfoString(str, " DISTINCT "); WRITE_NODE_FIELD(name); break; case AEXPR_NULLIF: - appendStringInfo(str, " NULLIF "); + appendStringInfoString(str, " NULLIF "); WRITE_NODE_FIELD(name); break; case AEXPR_OF: - appendStringInfo(str, " OF "); + appendStringInfoString(str, " OF "); WRITE_NODE_FIELD(name); break; case AEXPR_IN: - appendStringInfo(str, " IN "); + appendStringInfoString(str, " IN "); WRITE_NODE_FIELD(name); break; default: - appendStringInfo(str, " ??"); + appendStringInfoString(str, " ??"); break; } @@ -2527,7 +2527,7 @@ _outAConst(StringInfo str, const A_Const *node) { WRITE_NODE_TYPE("A_CONST"); - appendStringInfo(str, " :val "); + appendStringInfoString(str, " :val "); _outValue(str, &(node->val)); WRITE_LOCATION_FIELD(location); } @@ -2635,32 +2635,32 @@ _outConstraint(StringInfo str, const Constraint *node) WRITE_BOOL_FIELD(initdeferred); WRITE_LOCATION_FIELD(location); - appendStringInfo(str, " :contype "); + appendStringInfoString(str, " :contype "); switch (node->contype) { case CONSTR_NULL: - appendStringInfo(str, "NULL"); + appendStringInfoString(str, "NULL"); break; case CONSTR_NOTNULL: - appendStringInfo(str, "NOT_NULL"); + appendStringInfoString(str, "NOT_NULL"); break; case CONSTR_DEFAULT: - appendStringInfo(str, "DEFAULT"); + appendStringInfoString(str, "DEFAULT"); WRITE_NODE_FIELD(raw_expr); WRITE_STRING_FIELD(cooked_expr); break; case CONSTR_CHECK: - appendStringInfo(str, "CHECK"); + appendStringInfoString(str, "CHECK"); WRITE_BOOL_FIELD(is_no_inherit); WRITE_NODE_FIELD(raw_expr); WRITE_STRING_FIELD(cooked_expr); break; case CONSTR_PRIMARY: - appendStringInfo(str, "PRIMARY_KEY"); + appendStringInfoString(str, "PRIMARY_KEY"); WRITE_NODE_FIELD(keys); WRITE_NODE_FIELD(options); WRITE_STRING_FIELD(indexname); @@ -2669,7 +2669,7 @@ _outConstraint(StringInfo str, const Constraint *node) break; case CONSTR_UNIQUE: - appendStringInfo(str, "UNIQUE"); + appendStringInfoString(str, "UNIQUE"); WRITE_NODE_FIELD(keys); WRITE_NODE_FIELD(options); WRITE_STRING_FIELD(indexname); @@ -2678,7 +2678,7 @@ _outConstraint(StringInfo str, const Constraint *node) break; case CONSTR_EXCLUSION: - appendStringInfo(str, "EXCLUSION"); + appendStringInfoString(str, "EXCLUSION"); WRITE_NODE_FIELD(exclusions); WRITE_NODE_FIELD(options); WRITE_STRING_FIELD(indexname); @@ -2688,7 +2688,7 @@ _outConstraint(StringInfo str, const Constraint *node) break; case CONSTR_FOREIGN: - appendStringInfo(str, "FOREIGN_KEY"); + appendStringInfoString(str, "FOREIGN_KEY"); WRITE_NODE_FIELD(pktable); WRITE_NODE_FIELD(fk_attrs); WRITE_NODE_FIELD(pk_attrs); @@ -2701,19 +2701,19 @@ _outConstraint(StringInfo str, const Constraint *node) break; case CONSTR_ATTR_DEFERRABLE: - appendStringInfo(str, "ATTR_DEFERRABLE"); + appendStringInfoString(str, "ATTR_DEFERRABLE"); break; case CONSTR_ATTR_NOT_DEFERRABLE: - appendStringInfo(str, "ATTR_NOT_DEFERRABLE"); + appendStringInfoString(str, "ATTR_NOT_DEFERRABLE"); break; case CONSTR_ATTR_DEFERRED: - appendStringInfo(str, "ATTR_DEFERRED"); + appendStringInfoString(str, "ATTR_DEFERRED"); break; case CONSTR_ATTR_IMMEDIATE: - appendStringInfo(str, "ATTR_IMMEDIATE"); + appendStringInfoString(str, "ATTR_IMMEDIATE"); break; default: @@ -2732,7 +2732,7 @@ static void _outNode(StringInfo str, const void *obj) { if (obj == NULL) - appendStringInfo(str, "<>"); + appendStringInfoString(str, "<>"); else if (IsA(obj, List) ||IsA(obj, IntList) || IsA(obj, OidList)) _outList(str, obj); else if (IsA(obj, Integer) || |