aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/explain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/explain.c')
-rw-r--r--src/backend/commands/explain.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index 755a64a9446..767d4c9f806 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994-5, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/explain.c,v 1.144 2006/02/28 04:10:27 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/explain.c,v 1.145 2006/03/01 06:51:01 neilc Exp $
*
*-------------------------------------------------------------------------
*/
@@ -232,7 +232,7 @@ ExplainOnePlan(QueryDesc *queryDesc, ExplainStmt *stmt,
instr_time starttime;
double totaltime = 0;
ExplainState *es;
- StringInfo str;
+ StringInfoData buf;
int eflags;
INSTR_TIME_SET_CURRENT(starttime);
@@ -285,9 +285,8 @@ ExplainOnePlan(QueryDesc *queryDesc, ExplainStmt *stmt,
}
}
- str = makeStringInfo();
-
- explain_outNode(str, queryDesc->plantree, queryDesc->planstate,
+ initStringInfo(&buf);
+ explain_outNode(&buf, queryDesc->plantree, queryDesc->planstate,
NULL, 0, es);
/*
@@ -335,18 +334,18 @@ ExplainOnePlan(QueryDesc *queryDesc, ExplainStmt *stmt,
if (trig->tgisconstraint &&
(conname = GetConstraintNameForTrigger(trig->tgoid)) != NULL)
{
- appendStringInfo(str, "Trigger for constraint %s",
+ appendStringInfo(&buf, "Trigger for constraint %s",
conname);
pfree(conname);
}
else
- appendStringInfo(str, "Trigger %s", trig->tgname);
+ appendStringInfo(&buf, "Trigger %s", trig->tgname);
if (numrels > 1)
- appendStringInfo(str, " on %s",
+ appendStringInfo(&buf, " on %s",
RelationGetRelationName(rInfo->ri_RelationDesc));
- appendStringInfo(str, ": time=%.3f calls=%.0f\n",
+ appendStringInfo(&buf, ": time=%.3f calls=%.0f\n",
1000.0 * instr->total,
instr->ntuples);
}
@@ -370,12 +369,11 @@ ExplainOnePlan(QueryDesc *queryDesc, ExplainStmt *stmt,
totaltime += elapsed_time(&starttime);
if (stmt->analyze)
- appendStringInfo(str, "Total runtime: %.3f ms\n",
+ appendStringInfo(&buf, "Total runtime: %.3f ms\n",
1000.0 * totaltime);
- do_text_output_multiline(tstate, str->data);
+ do_text_output_multiline(tstate, buf.data);
- pfree(str->data);
- pfree(str);
+ pfree(buf.data);
pfree(es);
}