cleanup log_disconnections() - Mailing list pgsql-patches

From Qingqing Zhou
Subject cleanup log_disconnections()
Date
Msg-id Pine.LNX.4.58.0510030034540.4207@eon.cs
Whole thread Raw
Responses Re: cleanup log_disconnections()  (Neil Conway <neilc@samurai.com>)
List pgsql-patches
Trivial patch to cleanup log_disconnections() function.

Regards,
Qingqing

---

Index: postgres.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/tcop/postgres.c,v
retrieving revision 1.463
diff -u -r1.463 postgres.c
--- postgres.c    26 Sep 2005 15:51:12 -0000    1.463
+++ postgres.c    3 Oct 2005 04:34:17 -0000
@@ -3526,29 +3526,13 @@
 static void
 log_disconnections(int code, Datum arg)
 {
-    Port       *port = MyProcPort;
-    struct timeval end;
-    int            hours,
-                minutes,
-                seconds;
+    Port    *port = MyProcPort;
+    struct    timeval end;
+    int        hours,
+            minutes,
+            seconds;

-    char        session_time[20];
-    char        uname[6 + NAMEDATALEN];
-    char        dbname[10 + NAMEDATALEN];
-    char        remote_host[7 + NI_MAXHOST];
-    char        remote_port[7 + NI_MAXSERV];
-
-    snprintf(uname, sizeof(uname), " user=%s", port->user_name);
-    snprintf(dbname, sizeof(dbname), " database=%s", port->database_name);
-    snprintf(remote_host, sizeof(remote_host), " host=%s",
-             port->remote_host);
-    if (port->remote_port[0])
-        snprintf(remote_port, sizeof(remote_port), " port=%s", port->remote_port);
-    else
-        remote_port[0] = '\0';
-
     gettimeofday(&end, NULL);
-
     if (end.tv_usec < port->session_start.tv_usec)
     {
         end.tv_sec--;
@@ -3557,28 +3541,16 @@
     end.tv_sec -= port->session_start.tv_sec;
     end.tv_usec -= port->session_start.tv_usec;

+    /* for stricter accuracy here we could round - this is close enough */
     hours = end.tv_sec / SECS_PER_HOUR;
     end.tv_sec %= SECS_PER_HOUR;
     minutes = end.tv_sec / SECS_PER_MINUTE;
     seconds = end.tv_sec % SECS_PER_MINUTE;

-    /* if time has gone backwards for some reason say so, or print time */
-
-    if (end.tv_sec < 0)
-        snprintf(session_time, sizeof(session_time), "negative!");
-    else
-
-        /*
-         * for stricter accuracy here we could round - this is close
-         * enough
-         */
-        snprintf(session_time, sizeof(session_time),
-                 "%d:%02d:%02d.%02d",
-                 hours, minutes, seconds, (int) (end.tv_usec / 10000));
-
-    ereport(
-            LOG,
-            (errmsg("disconnection: session time: %s%s%s%s%s",
-                session_time, uname, dbname, remote_host, remote_port)));
-
+    ereport(LOG,
+            (errmsg("disconnection: session time=%d:%02d:%02d.%02d,"
+                    " user=%s, database=%s, host=%s, port=%s",
+                    hours, minutes, seconds, (int) (end.tv_usec / 10000),
+                    port->user_name, port->database_name, port->remote_host,
+                    port->remote_port[0]?port->remote_port : "<unknown>")));
 }


pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: database file compatibility patch
Next
From: Neil Conway
Date:
Subject: Re: cleanup log_disconnections()