aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/config.sgml9
-rw-r--r--src/backend/tcop/postgres.c12
2 files changed, 12 insertions, 9 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 37dbaddf7c5..7e40c6922dd 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1,5 +1,5 @@
<!--
-$PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.36.2.3 2006/03/28 22:01:24 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.36.2.4 2006/04/18 00:52:41 momjian Exp $
-->
<chapter Id="runtime-config">
<title>Server Configuration</title>
@@ -2729,9 +2729,10 @@ SELECT * FROM parent WHERE key = 2400;
<note>
<para>
The <command>EXECUTE</command> statement is not considered a
- <literal>ddl</> or <literal>mod</> statement. When it is logged,
- only the name of the prepared statement is reported, not the
- actual prepared statement.
+ <literal>ddl</> or <literal>mod</> statement. Statements that
+ generate errors are not logged. Set
+ <varname>log_min_error_statement</> to <literal>error</> to
+ log such statements.
</para>
<para>
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index b790d04483b..329ba44524e 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.468.2.3 2005/12/14 17:06:37 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.468.2.4 2006/04/18 00:52:41 momjian Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
@@ -578,19 +578,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(" [client PREPARE: %s]") - 1);
- sprintf(*prepare_string, " [client PREPARE: %s]",
+ strlen(" [PREPARE: %s]") - 2 + 1);
+ sprintf(*prepare_string, " [PREPARE: %s]",
entry->query_string);
}
}