(39) + of tracing. If (<literal>flags</literal> & <literal>PQTRACE_OUTPUT_TIMESTAMPS</literal>) is + true, then timestamp is not printed with each message.
The flag name (OUTPUT) and its description (not printed) doesn't match. I think you can use less programmatical expression like "If <literal>flags</literal> contains <literal>PQTRACE_OUTPUT_TIMESTAMPS</literal>". (40) diff --git a/src/interfaces/libpq/exports.txt b/src/interfaces/libpq/exports.txt +PQtraceEx 180 \ No newline at end of file What's the second line? Isn't the file missing an empty line at the end? (41) +void +PQtraceEx(PGconn *conn, FILE *debug_port, int flags) +{ + if (conn == NULL) + return; ... + if (!debug_port) + return; The if should better be as follows to match the style of existing surrounding code. + if (debug_port == NULL) (42) +pqLogFormatTimestamp(char *timestr, Size ts_len) I think you should use int or size_t instead of Size here, because other libpq code uses them. int should be enough. If the compiler gives warnings, prepend "(int)" before sizeof() at call sites. (43) + /* append microseconds */ + sprintf(timestr + strlen(timestr), ".%06d", (int) (tval.tv_usec / 1000)); "/ 1000" should be removed. (44) + if ((conn->traceFlags & PQTRACE_OUTPUT_TIMESTAMPS) == 0) + timestr_p = pqLogFormatTimestamp(timestr, sizeof(timestr)); == 0 should be removed. Regards Takayuki Tsunakawa