From 95cc41b81dd3917a1b9bb0b7c9cbe231d2557760 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 25 Apr 1999 03:19:27 +0000 Subject: Revise backend libpq interfaces so that messages to the frontend can be generated in a buffer and then sent to the frontend in a single libpq call. This solves problems with NOTICE and ERROR messages generated in the middle of a data message or COPY OUT operation. --- src/backend/commands/explain.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'src/backend/commands/explain.c') diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 6745b4f1f3..a26579270c 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -4,7 +4,7 @@ * * Copyright (c) 1994-5, Regents of the University of California * - * $Id: explain.c,v 1.34 1999/04/23 21:23:48 momjian Exp $ + * $Id: explain.c,v 1.35 1999/04/25 03:19:09 tgl Exp $ * */ #include @@ -350,18 +350,13 @@ explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es) static char * Explain_PlanToString(Plan *plan, ExplainState *es) { - StringInfo str; - char *s; + StringInfoData str; - if (plan == NULL) - return ""; - Assert(plan != NULL); - str = makeStringInfo(); - explain_outNode(str, plan, 0, es); - s = str->data; - pfree(str); - - return s; + /* see stringinfo.h for an explanation of this maneuver */ + initStringInfo(&str); + if (plan != NULL) + explain_outNode(&str, plan, 0, es); + return str.data; } /* -- cgit v1.2.1