OSDN Git Service

elog() was set up to call abort() if it saw an ERROR or FATAL exit
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 30 Dec 1999 23:03:40 +0000 (23:03 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 30 Dec 1999 23:03:40 +0000 (23:03 +0000)
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.

src/backend/utils/error/elog.c

index 781640f..bd51f40 100644 (file)
@@ -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 */