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()
|
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: