aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/postgres.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r--src/backend/tcop/postgres.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index df9ef8983a0..3c24fa532a6 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.483 2006/04/04 19:35:35 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.484 2006/04/18 00:52:23 momjian Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
@@ -586,19 +586,21 @@ log_after_parse(List *raw_parsetree_list, const char *query_string,
/*
* For the first EXECUTE we find, record the client statement used by
- * the PREPARE.
+ * the PREPARE. PREPARE doesn't save the parse tree so we have no
+ * way to conditionally output based on the type of query prepared.
*/
if (IsA(parsetree, ExecuteStmt))
{
ExecuteStmt *stmt = (ExecuteStmt *) parsetree;
PreparedStatement *entry;
- if ((entry = FetchPreparedStatement(stmt->name, false)) != NULL &&
+ if (*prepare_string == NULL &&
+ (entry = FetchPreparedStatement(stmt->name, false)) != NULL &&
entry->query_string)
{
*prepare_string = palloc(strlen(entry->query_string) +
- strlen(" [protocol PREPARE: %s]") - 1);
- sprintf(*prepare_string, " [protocol PREPARE: %s]",
+ strlen(" [PREPARE: %s]") - 2 + 1);
+ sprintf(*prepare_string, " [PREPARE: %s]",
entry->query_string);
}
}