diff options
Diffstat (limited to 'src/backend/utils/error')
-rw-r--r-- | src/backend/utils/error/assert.c | 86 | ||||
-rw-r--r-- | src/backend/utils/error/elog.c | 392 | ||||
-rw-r--r-- | src/backend/utils/error/exc.c | 229 | ||||
-rw-r--r-- | src/backend/utils/error/excabort.c | 20 | ||||
-rw-r--r-- | src/backend/utils/error/excid.c | 40 | ||||
-rw-r--r-- | src/backend/utils/error/format.c | 30 |
6 files changed, 422 insertions, 375 deletions
diff --git a/src/backend/utils/error/assert.c b/src/backend/utils/error/assert.c index 4fb99ced1b9..2c46dde02b8 100644 --- a/src/backend/utils/error/assert.c +++ b/src/backend/utils/error/assert.c @@ -1,67 +1,71 @@ /*------------------------------------------------------------------------- * * assert.c-- - * Assert code. + * Assert code. * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/assert.c,v 1.4 1997/04/17 20:38:26 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/assert.c,v 1.5 1997/09/07 04:53:11 momjian Exp $ * * NOTE - * This should eventually work with elog(), dlog(), etc. + * This should eventually work with elog(), dlog(), etc. * *------------------------------------------------------------------------- */ #include <stdio.h> -#include "postgres.h" /* where the declaration goes */ +#include "postgres.h" /* where the declaration goes */ #include "utils/module.h" #include "utils/exc.h" int -ExceptionalCondition(char* conditionName, - Exception *exceptionP, - char* detail, - char* fileName, - int lineNumber) +ExceptionalCondition(char *conditionName, + Exception * exceptionP, + char *detail, + char *fileName, + int lineNumber) { - extern char* ExcFileName; /* XXX */ - extern Index ExcLineNumber; /* XXX */ - - ExcFileName = fileName; - ExcLineNumber = lineNumber; - - if (!PointerIsValid(conditionName) - || !PointerIsValid(fileName) - || !PointerIsValid(exceptionP)) { - fprintf(stderr, "ExceptionalCondition: bad arguments\n"); - - ExcAbort(exceptionP, - (ExcDetail)detail, - (ExcData)NULL, - (ExcMessage)NULL); - } else { - fprintf(stderr, - "%s(\"%s:%s\", File: \"%s\", Line: %d)\n", + extern char *ExcFileName;/* XXX */ + extern Index ExcLineNumber; /* XXX */ + + ExcFileName = fileName; + ExcLineNumber = lineNumber; + + if (!PointerIsValid(conditionName) + || !PointerIsValid(fileName) + || !PointerIsValid(exceptionP)) + { + fprintf(stderr, "ExceptionalCondition: bad arguments\n"); + + ExcAbort(exceptionP, + (ExcDetail) detail, + (ExcData) NULL, + (ExcMessage) NULL); + } + else + { + fprintf(stderr, + "%s(\"%s:%s\", File: \"%s\", Line: %d)\n", exceptionP->message, conditionName, detail == NULL ? "" : detail, - fileName, lineNumber); - } + fileName, lineNumber); + } #ifdef ABORT_ON_ASSERT - abort(); + abort(); #endif - /* - * XXX Depending on the Exception and tracing conditions, you will - * XXX want to stop here immediately and maybe dump core. - * XXX This may be especially true for Assert(), etc. - */ - - /* TraceDump(); dump the trace stack */ - - /* XXX FIXME: detail is lost */ - ExcRaise(exceptionP, (ExcDetail)0, (ExcData)NULL, conditionName); - return(0); + + /* + * XXX Depending on the Exception and tracing conditions, you will XXX + * want to stop here immediately and maybe dump core. XXX This may be + * especially true for Assert(), etc. + */ + + /* TraceDump(); dump the trace stack */ + + /* XXX FIXME: detail is lost */ + ExcRaise(exceptionP, (ExcDetail) 0, (ExcData) NULL, conditionName); + return (0); } diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index fae4c1adeef..e4cdc6d595b 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -1,13 +1,13 @@ /*------------------------------------------------------------------------- * * elog.c-- - * error logger + * error logger * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.17 1997/08/12 22:54:44 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.18 1997/09/07 04:53:15 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -17,7 +17,7 @@ #include <fcntl.h> #ifndef O_RDONLY #include <sys/file.h> -#endif /* O_RDONLY */ +#endif /* O_RDONLY */ #include <sys/types.h> #include <stdarg.h> #include <errno.h> @@ -29,204 +29,236 @@ #include "libpq/libpq.h" #include "storage/proc.h" -static int Debugfile = -1; -static int Err_file = -1; -static int ElogDebugIndentLevel = 0; +static int Debugfile = -1; +static int Err_file = -1; +static int ElogDebugIndentLevel = 0; -extern char OutputFileName[]; +extern char OutputFileName[]; /* * elog -- - * Old error logging function. + * Old error logging function. */ void -elog(int lev, const char *fmt, ... ) +elog(int lev, const char *fmt,...) { - va_list ap; - char buf[ELOG_MAXLEN], line[ELOG_MAXLEN]; - register char *bp; - register const char *cp; - extern int errno, sys_nerr; + va_list ap; + char buf[ELOG_MAXLEN], + line[ELOG_MAXLEN]; + register char *bp; + register const char *cp; + extern int errno, + sys_nerr; + #ifndef PG_STANDALONE - extern FILE *Pfout; -#endif /* !PG_STANDALONE */ + extern FILE *Pfout; + +#endif /* !PG_STANDALONE */ #ifdef ELOG_TIMESTAMPS - time_t tim; + time_t tim; + #endif - int len; - int i = 0; - - va_start(ap, fmt); - if (lev == DEBUG && Debugfile < 0) { - return; - } - switch (lev) { - case NOIND: - i = ElogDebugIndentLevel-1; - if (i < 0) i = 0; - if (i > 30) i = i%30; - cp = "DEBUG:"; - break; - case DEBUG: - i = ElogDebugIndentLevel; - if (i < 0) i = 0; - if (i > 30) i = i%30; - cp = "DEBUG:"; - break; - case NOTICE: - cp = "NOTICE:"; - break; - case WARN: - cp = "WARN:"; - break; - default: - sprintf(line, "FATAL %d:", lev); - cp = line; - } + int len; + int i = 0; + + va_start(ap, fmt); + if (lev == DEBUG && Debugfile < 0) + { + return; + } + switch (lev) + { + case NOIND: + i = ElogDebugIndentLevel - 1; + if (i < 0) + i = 0; + if (i > 30) + i = i % 30; + cp = "DEBUG:"; + break; + case DEBUG: + i = ElogDebugIndentLevel; + if (i < 0) + i = 0; + if (i > 30) + i = i % 30; + cp = "DEBUG:"; + break; + case NOTICE: + cp = "NOTICE:"; + break; + case WARN: + cp = "WARN:"; + break; + default: + sprintf(line, "FATAL %d:", lev); + cp = line; + } #ifdef ELOG_TIMESTAMPS - time(&tim); - strcat(strcpy(buf, cp), ctime(&tim)+4); - bp = buf+strlen(buf)-6; - *bp++ = ':'; + time(&tim); + strcat(strcpy(buf, cp), ctime(&tim) + 4); + bp = buf + strlen(buf) - 6; + *bp++ = ':'; #else - strcpy(buf,cp); - bp = buf+strlen(buf); + strcpy(buf, cp); + bp = buf + strlen(buf); #endif - while (i-- >0) *bp++ = ' '; - for (cp = fmt; *cp; cp++) - if (*cp == '%' && *(cp+1) == 'm') { - if (errno < sys_nerr && errno >= 0) - strcpy(bp, strerror(errno)); - else - sprintf(bp, "error %d", errno); - bp += strlen(bp); - cp++; - } else - *bp++ = *cp; - *bp = '\0'; - vsprintf(line, buf, ap); - va_end(ap); - len = strlen(strcat(line, "\n")); - if (Debugfile > -1) - write(Debugfile, line, len); - if (lev == DEBUG || lev == NOIND) - return; - - /* - * If there's an error log file other than our channel to the - * front-end program, write to it first. This is important - * because there's a bug in the socket code on ultrix. If the - * front end has gone away (so the channel to it has been closed - * at the other end), then writing here can cause this backend - * to exit without warning -- that is, write() does an exit(). - * In this case, our only hope of finding out what's going on - * is if Err_file was set to some disk log. This is a major pain. - */ - - if (Err_file > -1 && Debugfile != Err_file) { - if (write(Err_file, line, len) < 0) { - write(open("/dev/console", O_WRONLY, 0666), line, len); - fflush(stdout); - fflush(stderr); - exitpg(lev); - } - fsync(Err_file); - } - -#ifndef PG_STANDALONE - /* Send IPC message to the front-end program */ - if (Pfout != NULL && lev > DEBUG) { - /* notices are not exactly errors, handle it differently */ - if (lev == NOTICE) - pq_putnchar("N", 1); - else - pq_putnchar("E", 1); - /* pq_putint(-101, 4);*/ /* should be query id */ - pq_putstr(line); - pq_flush(); - } -#endif /* !PG_STANDALONE */ - - if (lev == WARN) { - extern int InWarn; - ProcReleaseSpins(NULL); /* get rid of spinlocks we hold */ - if (!InWarn) { - kill(getpid(), 1); /* abort to traffic cop */ - pause(); - } - /* - * The pause(3) is just to avoid race conditions where the - * thread of control on an MP system gets past here (i.e., - * the signal is not received instantaneously). - */ - } - - if (lev == FATAL) { + while (i-- > 0) + *bp++ = ' '; + for (cp = fmt; *cp; cp++) + if (*cp == '%' && *(cp + 1) == 'm') + { + if (errno < sys_nerr && errno >= 0) + strcpy(bp, strerror(errno)); + else + sprintf(bp, "error %d", errno); + bp += strlen(bp); + cp++; + } + else + *bp++ = *cp; + *bp = '\0'; + vsprintf(line, buf, ap); + va_end(ap); + len = strlen(strcat(line, "\n")); + if (Debugfile > -1) + write(Debugfile, line, len); + if (lev == DEBUG || lev == NOIND) + return; + /* - * Assume that if we have detected the failure we can - * exit with a normal exit status. This will prevent - * the postmaster from cleaning up when it's not needed. + * If there's an error log file other than our channel to the + * front-end program, write to it first. This is important because + * there's a bug in the socket code on ultrix. If the front end has + * gone away (so the channel to it has been closed at the other end), + * then writing here can cause this backend to exit without warning -- + * that is, write() does an exit(). In this case, our only hope of + * finding out what's going on is if Err_file was set to some disk + * log. This is a major pain. */ - fflush(stdout); - fflush(stderr); - ProcReleaseSpins(NULL); /* get rid of spinlocks we hold */ - ProcReleaseLocks(); /* get rid of real locks we hold */ - exitpg(0); - } - - if (lev > FATAL) { - fflush(stdout); - fflush(stderr); - exitpg(lev); - } + + if (Err_file > -1 && Debugfile != Err_file) + { + if (write(Err_file, line, len) < 0) + { + write(open("/dev/console", O_WRONLY, 0666), line, len); + fflush(stdout); + fflush(stderr); + exitpg(lev); + } + fsync(Err_file); + } + +#ifndef PG_STANDALONE + /* Send IPC message to the front-end program */ + if (Pfout != NULL && lev > DEBUG) + { + /* notices are not exactly errors, handle it differently */ + if (lev == NOTICE) + pq_putnchar("N", 1); + else + pq_putnchar("E", 1); + /* pq_putint(-101, 4); *//* should be query id */ + pq_putstr(line); + pq_flush(); + } +#endif /* !PG_STANDALONE */ + + if (lev == WARN) + { + extern int InWarn; + + ProcReleaseSpins(NULL); /* get rid of spinlocks we hold */ + if (!InWarn) + { + kill(getpid(), 1); /* abort to traffic cop */ + pause(); + } + + /* + * The pause(3) is just to avoid race conditions where the thread + * of control on an MP system gets past here (i.e., the signal is + * not received instantaneously). + */ + } + + if (lev == FATAL) + { + + /* + * Assume that if we have detected the failure we can exit with a + * normal exit status. This will prevent the postmaster from + * cleaning up when it's not needed. + */ + fflush(stdout); + fflush(stderr); + ProcReleaseSpins(NULL); /* get rid of spinlocks we hold */ + ProcReleaseLocks(); /* get rid of real locks we hold */ + exitpg(0); + } + + if (lev > FATAL) + { + fflush(stdout); + fflush(stderr); + exitpg(lev); + } } #ifndef PG_STANDALONE int DebugFileOpen(void) { - int fd, istty; - - Err_file = Debugfile = -1; - ElogDebugIndentLevel = 0; - - if (OutputFileName[0]) { - OutputFileName[MAXPGPATH-1] = '\0'; - if ((fd = open(OutputFileName, O_CREAT|O_APPEND|O_WRONLY, - 0666)) < 0) - elog(FATAL, "DebugFileOpen: open of %s: %m", - OutputFileName); - istty = isatty(fd); - close(fd); - /* If the file is a tty and we're running under the - * postmaster, try to send stdout there as well (if it - * isn't a tty then stderr will block out stdout, so we - * may as well let stdout go wherever it was going before). + int fd, + istty; + + Err_file = Debugfile = -1; + ElogDebugIndentLevel = 0; + + if (OutputFileName[0]) + { + OutputFileName[MAXPGPATH - 1] = '\0'; + if ((fd = open(OutputFileName, O_CREAT | O_APPEND | O_WRONLY, + 0666)) < 0) + elog(FATAL, "DebugFileOpen: open of %s: %m", + OutputFileName); + istty = isatty(fd); + close(fd); + + /* + * If the file is a tty and we're running under the postmaster, + * try to send stdout there as well (if it isn't a tty then stderr + * will block out stdout, so we may as well let stdout go wherever + * it was going before). + */ + if (istty && + IsUnderPostmaster && + !freopen(OutputFileName, "a", stdout)) + elog(FATAL, "DebugFileOpen: %s reopen as stdout: %m", + OutputFileName); + if (!freopen(OutputFileName, "a", stderr)) + elog(FATAL, "DebugFileOpen: %s reopen as stderr: %m", + OutputFileName); + Err_file = Debugfile = fileno(stderr); + return (Debugfile); + } + + /* + * If no filename was specified, send debugging output to stderr. If + * stderr has been hosed, try to open a file. */ - if (istty && - IsUnderPostmaster && - !freopen(OutputFileName, "a", stdout)) - elog(FATAL, "DebugFileOpen: %s reopen as stdout: %m", - OutputFileName); - if (!freopen(OutputFileName, "a", stderr)) - elog(FATAL, "DebugFileOpen: %s reopen as stderr: %m", - OutputFileName); - Err_file = Debugfile = fileno(stderr); - return(Debugfile); - } - /* If no filename was specified, send debugging output to stderr. - * If stderr has been hosed, try to open a file. - */ - fd = fileno(stderr); - if (fcntl(fd, F_GETFD, 0) < 0) { - sprintf(OutputFileName, "%s/pg.errors.%d", - DataDir, (int)getpid()); - fd = open(OutputFileName, O_CREAT|O_APPEND|O_WRONLY, 0666); - } - if (fd < 0) - elog(FATAL, "DebugFileOpen: could not open debugging file"); - - Err_file = Debugfile = fd; - return(Debugfile); + fd = fileno(stderr); + if (fcntl(fd, F_GETFD, 0) < 0) + { + sprintf(OutputFileName, "%s/pg.errors.%d", + DataDir, (int) getpid()); + fd = open(OutputFileName, O_CREAT | O_APPEND | O_WRONLY, 0666); + } + if (fd < 0) + elog(FATAL, "DebugFileOpen: could not open debugging file"); + + Err_file = Debugfile = fd; + return (Debugfile); } + #endif diff --git a/src/backend/utils/error/exc.c b/src/backend/utils/error/exc.c index 3366996fad1..fd169b94a18 100644 --- a/src/backend/utils/error/exc.c +++ b/src/backend/utils/error/exc.c @@ -1,21 +1,21 @@ /*------------------------------------------------------------------------- * * exc.c-- - * POSTGRES exception handling code. + * POSTGRES exception handling code. * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/exc.c,v 1.15 1997/08/19 21:35:17 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/exc.c,v 1.16 1997/09/07 04:53:16 momjian Exp $ * * NOTE - * XXX this code needs improvement--check for state violations and - * XXX reset after handling an exception. + * XXX this code needs improvement--check for state violations and + * XXX reset after handling an exception. * *------------------------------------------------------------------------- */ -#include <stdio.h> /* XXX use own I/O routines */ +#include <stdio.h> /* XXX use own I/O routines */ #include <errno.h> #include <string.h> @@ -24,24 +24,26 @@ #include "utils/exc.h" #include "storage/ipc.h" -static void ExcUnCaught(Exception *excP, ExcDetail detail, ExcData data, +static void +ExcUnCaught(Exception * excP, ExcDetail detail, ExcData data, ExcMessage message); -static void ExcPrint(Exception *excP, ExcDetail detail, ExcData data, - ExcMessage message); +static void +ExcPrint(Exception * excP, ExcDetail detail, ExcData data, + ExcMessage message); /* * Global Variables */ -static bool ExceptionHandlingEnabled = false; +static bool ExceptionHandlingEnabled = false; -char* ExcFileName = NULL; +char *ExcFileName = NULL; Index ExcLineNumber = 0; -ExcFrame *ExcCurFrameP = NULL; +ExcFrame *ExcCurFrameP = NULL; -static ExcProc *ExcUnCaughtP = NULL; +static ExcProc *ExcUnCaughtP = NULL; -extern char* ProgramName; +extern char *ProgramName; /* * Exported Functions @@ -49,148 +51,157 @@ extern char* ProgramName; /* * EnableExceptionHandling -- - * Enables/disables the exception handling system. + * Enables/disables the exception handling system. * * Note: - * This must be called before any exceptions occur. I.e., call this first! - * This routine will not return if an error is detected. - * This does not follow the usual Enable... protocol. - * This should be merged more closely with the error logging and tracing - * packages. + * This must be called before any exceptions occur. I.e., call this first! + * This routine will not return if an error is detected. + * This does not follow the usual Enable... protocol. + * This should be merged more closely with the error logging and tracing + * packages. * * Exceptions: - * none + * none */ /* * Excection handling should be supported by the language, thus there should * be no need to explicitly enable exception processing. * * This function should probably not be called, ever. Currently it does - * almost nothing. If there is a need for this intialization and checking. + * almost nothing. If there is a need for this intialization and checking. * then this function should be converted to the new-style Enable code and * called by all the other module Enable functions. */ void EnableExceptionHandling(bool on) { - if (on == ExceptionHandlingEnabled) { - /* XXX add logging of failed state */ - exitpg(255); - /* ExitPostgres(FatalExitStatus); */ - } - - if (on) { /* initialize */ - ; - } else { /* cleanup */ - ExcFileName = NULL; - ExcLineNumber = 0; - ExcCurFrameP = NULL; - ExcUnCaughtP = NULL; - } - - ExceptionHandlingEnabled = on; + if (on == ExceptionHandlingEnabled) + { + /* XXX add logging of failed state */ + exitpg(255); + /* ExitPostgres(FatalExitStatus); */ + } + + if (on) + { /* initialize */ + ; + } + else + { /* cleanup */ + ExcFileName = NULL; + ExcLineNumber = 0; + ExcCurFrameP = NULL; + ExcUnCaughtP = NULL; + } + + ExceptionHandlingEnabled = on; } static void -ExcPrint(Exception *excP, - ExcDetail detail, - ExcData data, - ExcMessage message) +ExcPrint(Exception * excP, + ExcDetail detail, + ExcData data, + ExcMessage message) { - extern int errno; - extern int sys_nerr; - + extern int errno; + extern int sys_nerr; + #ifdef lint - data = data; + data = data; #endif - - fflush(stdout); /* In case stderr is buffered */ - -#if 0 - if (ProgramName != NULL && *ProgramName != '\0') - fprintf(stderr, "%s: ", ProgramName); + + fflush(stdout); /* In case stderr is buffered */ + +#if 0 + if (ProgramName != NULL && *ProgramName != '\0') + fprintf(stderr, "%s: ", ProgramName); #endif - - if (message != NULL) - fprintf(stderr, "%s", message); - else if (excP->message != NULL) - fprintf(stderr, "%s", excP->message); - else + + if (message != NULL) + fprintf(stderr, "%s", message); + else if (excP->message != NULL) + fprintf(stderr, "%s", excP->message); + else #ifdef lint - fprintf(stderr, "UNNAMED EXCEPTION 0x%lx", excP); + fprintf(stderr, "UNNAMED EXCEPTION 0x%lx", excP); #else - fprintf(stderr, "UNNAMED EXCEPTION 0x%lx", (long)excP); + fprintf(stderr, "UNNAMED EXCEPTION 0x%lx", (long) excP); #endif - - fprintf(stderr, " (%ld)", detail); - - if (errno > 0 && errno < sys_nerr) - fprintf(stderr, " [%s]", strerror(errno)); - else if (errno != 0) - fprintf(stderr, " [Error %d]", errno); - - fprintf(stderr, "\n"); - - fflush(stderr); + + fprintf(stderr, " (%ld)", detail); + + if (errno > 0 && errno < sys_nerr) + fprintf(stderr, " [%s]", strerror(errno)); + else if (errno != 0) + fprintf(stderr, " [Error %d]", errno); + + fprintf(stderr, "\n"); + + fflush(stderr); } #ifdef NOT_USED -ExcProc * +ExcProc * ExcGetUnCaught(void) { - return (ExcUnCaughtP); + return (ExcUnCaughtP); } + #endif #ifdef NOT_USED -ExcProc * -ExcSetUnCaught(ExcProc *newP) +ExcProc * +ExcSetUnCaught(ExcProc * newP) { - ExcProc *oldP = ExcUnCaughtP; - - ExcUnCaughtP = newP; - - return (oldP); + ExcProc *oldP = ExcUnCaughtP; + + ExcUnCaughtP = newP; + + return (oldP); } + #endif static void -ExcUnCaught(Exception *excP, - ExcDetail detail, - ExcData data, - ExcMessage message) +ExcUnCaught(Exception * excP, + ExcDetail detail, + ExcData data, + ExcMessage message) { - ExcPrint(excP, detail, data, message); - - ExcAbort(excP, detail, data, message); + ExcPrint(excP, detail, data, message); + + ExcAbort(excP, detail, data, message); } void -ExcRaise(Exception *excP, - ExcDetail detail, - ExcData data, - ExcMessage message) +ExcRaise(Exception * excP, + ExcDetail detail, + ExcData data, + ExcMessage message) { - register ExcFrame *efp; - - efp = ExcCurFrameP; - if (efp == NULL) { - if (ExcUnCaughtP != NULL) - (*ExcUnCaughtP)(excP, detail, data, message); - - ExcUnCaught(excP, detail, data, message); - } else { - efp->id = excP; - efp->detail = detail; - efp->data = data; - efp->message = message; - - ExcCurFrameP = efp->link; - + register ExcFrame *efp; + + efp = ExcCurFrameP; + if (efp == NULL) + { + if (ExcUnCaughtP != NULL) + (*ExcUnCaughtP) (excP, detail, data, message); + + ExcUnCaught(excP, detail, data, message); + } + else + { + efp->id = excP; + efp->detail = detail; + efp->data = data; + efp->message = message; + + ExcCurFrameP = efp->link; + #if defined (JMP_BUF) - longjmp(efp->context, 1); + longjmp(efp->context, 1); #else - siglongjmp(efp->context, 1); + siglongjmp(efp->context, 1); #endif - } + } } diff --git a/src/backend/utils/error/excabort.c b/src/backend/utils/error/excabort.c index 29fd64ab7d5..3240f326496 100644 --- a/src/backend/utils/error/excabort.c +++ b/src/backend/utils/error/excabort.c @@ -1,31 +1,31 @@ /*------------------------------------------------------------------------- * * excabort.c-- - * Default exception abort code. + * Default exception abort code. * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/excabort.c,v 1.2 1996/11/03 06:53:32 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/excabort.c,v 1.3 1997/09/07 04:53:18 momjian Exp $ * *------------------------------------------------------------------------- */ #include "postgres.h" -#include "utils/exc.h" /* where function declarations go */ +#include "utils/exc.h" /* where function declarations go */ void -ExcAbort(const Exception *excP, - ExcDetail detail, - ExcData data, - ExcMessage message) +ExcAbort(const Exception * excP, + ExcDetail detail, + ExcData data, + ExcMessage message) { #ifdef __SABER__ - saber_stop(); + saber_stop(); #else - /* dump core */ - abort(); + /* dump core */ + abort(); #endif } diff --git a/src/backend/utils/error/excid.c b/src/backend/utils/error/excid.c index 410d7a56c88..ada9dabed70 100644 --- a/src/backend/utils/error/excid.c +++ b/src/backend/utils/error/excid.c @@ -1,13 +1,13 @@ /*------------------------------------------------------------------------- * * excid.c-- - * POSTGRES known exception identifier code. + * POSTGRES known exception identifier code. * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/excid.c,v 1.2 1996/11/03 06:53:35 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/excid.c,v 1.3 1997/09/07 04:53:19 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -17,51 +17,51 @@ #include "utils/excid.h" /***************************************************************************** - * Generic Recoverable Exceptions * + * Generic Recoverable Exceptions * *****************************************************************************/ /* * FailedAssertion -- - * Indicates an Assert(...) failed. + * Indicates an Assert(...) failed. */ -Exception FailedAssertion = { "Failed Assertion" }; +Exception FailedAssertion = {"Failed Assertion"}; /* * BadState -- - * Indicates a function call request is inconsistent with module state. + * Indicates a function call request is inconsistent with module state. */ -Exception BadState = { "Bad State for Function Call" }; +Exception BadState = {"Bad State for Function Call"}; /* * BadArg -- - * Indicates a function call argument or arguments is out-of-bounds. + * Indicates a function call argument or arguments is out-of-bounds. */ -Exception BadArg = { "Bad Argument to Function Call" }; +Exception BadArg = {"Bad Argument to Function Call"}; /***************************************************************************** - * Specific Recoverable Exceptions * + * Specific Recoverable Exceptions * *****************************************************************************/ /* * BadAllocSize -- - * Indicates that an allocation request is of unreasonable size. + * Indicates that an allocation request is of unreasonable size. */ -Exception BadAllocSize = { "Too Large Allocation Request" }; +Exception BadAllocSize = {"Too Large Allocation Request"}; /* * ExhaustedMemory -- - * Indicates an dynamic memory allocation failed. + * Indicates an dynamic memory allocation failed. */ -Exception ExhaustedMemory = { "Memory Allocation Failed" }; +Exception ExhaustedMemory = {"Memory Allocation Failed"}; /* * Unimplemented -- - * Indicates a function call request requires unimplemented code. + * Indicates a function call request requires unimplemented code. */ -Exception Unimplemented = { "Unimplemented Functionality" }; +Exception Unimplemented = {"Unimplemented Functionality"}; -Exception CatalogFailure = {"Catalog failure"}; /* XXX inconsistent */ -Exception InternalError = {"Internal Error"}; /* XXX inconsistent */ -Exception SemanticError = {"Semantic Error"}; /* XXX inconsistent */ -Exception SystemError = {"System Error"}; /* XXX inconsistent */ +Exception CatalogFailure = {"Catalog failure"}; /* XXX inconsistent */ +Exception InternalError = {"Internal Error"}; /* XXX inconsistent */ +Exception SemanticError = {"Semantic Error"}; /* XXX inconsistent */ +Exception SystemError = {"System Error"}; /* XXX inconsistent */ diff --git a/src/backend/utils/error/format.c b/src/backend/utils/error/format.c index bdbaddb402f..f996dbb8eb7 100644 --- a/src/backend/utils/error/format.c +++ b/src/backend/utils/error/format.c @@ -1,13 +1,13 @@ /*------------------------------------------------------------------------- * * format.c-- - * a wrapper around code that does what vsprintf does. + * a wrapper around code that does what vsprintf does. * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/format.c,v 1.3 1997/08/12 22:54:47 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/format.c,v 1.4 1997/09/07 04:53:20 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -15,26 +15,26 @@ #include <stdarg.h> #include "c.h" -#define FormMaxSize 1024 -#define FormMinSize (FormMaxSize / 8) +#define FormMaxSize 1024 +#define FormMinSize (FormMaxSize / 8) -static char FormBuf[FormMaxSize]; +static char FormBuf[FormMaxSize]; /* ---------------- - * form + * form * ---------------- */ -char * -form(const char *fmt, ... ) +char * +form(const char *fmt,...) { - va_list args; + va_list args; - va_start(args, fmt); - - vsprintf(FormBuf, fmt, args); + va_start(args, fmt); - va_end(args); - - return (FormBuf); + vsprintf(FormBuf, fmt, args); + + va_end(args); + + return (FormBuf); } |