elog() was set up to call abort() if it saw an ERROR or FATAL exit
during InitProcessingMode and the CurrentTransactionState was neither TRANS_DEFAULT nor TRANS_DISABLED. Unfortunately, after someone's recent change to start the transaction manager earlier in startup than it used to be started, that caused an abort() and consequent database system reset on quite harmless errors (such as rejecting an invalid user name!). As far as I can see, the test on CurrentTransactionState was completely useless anyway, so I've removed it.
This commit is contained in:
parent
b16bd18546
commit
8a40400d40
1 changed files with 2 additions and 8 deletions
|
@ -7,7 +7,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.52 1999/11/22 02:06:31 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.53 1999/12/30 23:03:40 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -111,15 +111,9 @@ elog(int lev, const char *fmt, ...)
|
|||
|
||||
if (lev == ERROR || lev == FATAL)
|
||||
{
|
||||
/* this is probably redundant... */
|
||||
if (IsInitProcessingMode())
|
||||
{
|
||||
extern TransactionState CurrentTransactionState;
|
||||
|
||||
if (CurrentTransactionState->state != TRANS_DEFAULT &&
|
||||
CurrentTransactionState->state != TRANS_DISABLED)
|
||||
abort();
|
||||
lev = FATAL;
|
||||
}
|
||||
}
|
||||
|
||||
/* choose message prefix and indent level */
|
||||
|
|
Loading…
Reference in a new issue