1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-15 19:15:29 +03:00

Don't convert debug/notice/warning messages into errors just because

they occur inside error processing.  This is a back-port of a logic
change already present in 8.0.  Partial fix for bug#1976 --- doesn't
cure the wrong-encoding problem, but at least stops it from causing
unintended ERRORs.
This commit is contained in:
Tom Lane 2005-10-20 01:31:50 +00:00
parent a4baf229a4
commit 52e98f8415

View File

@ -37,7 +37,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.125.2.1 2005/10/14 16:41:28 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.125.2.2 2005/10/20 01:31:50 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -244,18 +244,14 @@ errstart(int elevel, const char *filename, int lineno,
* Okay, crank up a stack entry to store the info in. * Okay, crank up a stack entry to store the info in.
*/ */
if (recursion_depth++ > 0) if (recursion_depth++ > 0 && elevel >= ERROR)
{ {
/* /*
* Ooops, error during error processing. Clear ErrorContext and * Ooops, error during error processing. Clear ErrorContext as
* force level up to ERROR or greater, as discussed at top of * discussed at top of file. We will not return to the original
* file. Adjust output decisions too. * error's reporter or handler, so we don't need it.
*/ */
MemoryContextReset(ErrorContext); MemoryContextReset(ErrorContext);
output_to_server = true;
if (whereToSendOutput == Remote && elevel != COMMERROR)
output_to_client = true;
elevel = Max(elevel, ERROR);
/* /*
* If we recurse more than once, the problem might be something * If we recurse more than once, the problem might be something