diff options
-rw-r--r-- | doc/src/sgml/config.sgml | 9 | ||||
-rw-r--r-- | src/backend/tcop/postgres.c | 12 |
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); } } |