trace.patch (compilation error)
authorMarc G. Fournier
Sat, 5 Jun 1999 04:18:09 +0000 (04:18 +0000)
committerMarc G. Fournier
Sat, 5 Jun 1999 04:18:09 +0000 (04:18 +0000)
        the gettimeofday doesn't compile under Linux with glibc2 because
        the DST_NONE constant is no more defined. It seems that this code
        (written by me) has always be wrong but for some reason working.

From: Massimo Dal Zotto 

src/backend/utils/misc/trace.c
src/include/utils/trace.h

index 04bb063e3b2e8498f4a0bb2a3f28b3e7ec362060..9676ca570a0c13a77b27be7d0138ed8617fa58a7 100644 (file)
 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -47,7 +47,7 @@
  * Trace option names, must match the constants in trace_opts[].
  */
 static char *opt_names[] = {
-   "all",
+   "all",                      /* 0=trace some, 1=trace all, -1=trace none */
    "verbose",
    "query",
    "plan",
@@ -73,6 +73,8 @@ static char *opt_names[] = {
    "syslog",                   /* use syslog for error messages */
    "hostlookup",               /* enable hostname lookup in ps_status */
    "showportnumber",           /* show port number in ps_status */
+
+   /* NUM_PG_OPTIONS */        /* must be the last item of enum */
 };
 
 /*
@@ -92,7 +94,6 @@ tprintf(int flag, const char *fmt,...)
 
 #ifdef USE_SYSLOG
    int         log_level;
-
 #endif
 
    if ((flag == TRACE_ALL) || (pg_options[TRACE_ALL] > 0))
@@ -208,7 +209,6 @@ write_syslog(int level, char *line)
        syslog(level, "%s", line);
    }
 }
-
 #endif
 
 #ifdef ELOG_TIMESTAMPS
@@ -219,12 +219,13 @@ char *
 tprintf_timestamp()
 {
    struct timeval tv;
+   struct timezone tz = { 0, 0 };
    struct tm  *time;
    time_t      tm;
    static char timestamp[32],
                pid[8];
 
-   gettimeofday(&tv, DST_NONE);
+   gettimeofday(&tv, &tz);
    tm = tv.tv_sec;
    time = localtime(&tm);
 
@@ -232,11 +233,10 @@ tprintf_timestamp()
    sprintf(timestamp, "%02d%02d%02d.%02d:%02d:%02d.%03d %7s ",
            time->tm_year, time->tm_mon + 1, time->tm_mday,
            time->tm_hour, time->tm_min, time->tm_sec,
-           tv.tv_usec / 1000, pid);
+           (int) (tv.tv_usec/1000), pid);
 
    return timestamp;
 }
-
 #endif
 
 #ifdef NOT_USED
index 1ec2fd480cf06d07a9032213338b2b468ffd21fd..3174026ca5cfe32ce8c6caed21b09c561c8cb088 100644 (file)
@@ -37,10 +37,8 @@ extern void read_pg_options(SIGNAL_ARGS);
  * Trace options, used as index into pg_options.
  * Must match the constants in pg_options[].
  */
-enum pg_option_enum
-{
-   TRACE_ALL,                  /* 0=trace some, 1=trace all, -1=trace
-                                * none */
+enum pg_option_enum {
+   TRACE_ALL,                  /* 0=trace some, 1=trace all, -1=trace none */
    TRACE_VERBOSE,
    TRACE_QUERY,
    TRACE_PLAN,