* Output functions by protocol message type
  */
 
-/* NotificationResponse */
 static void
-pqTraceOutputA(FILE *f, const char *message, int *cursor, bool regress)
+pqTraceOutput_NotificationResponse(FILE *f, const char *message, int *cursor, bool regress)
 {
    fprintf(f, "NotificationResponse\t");
    pqTraceOutputInt32(f, message, cursor, regress);
    pqTraceOutputString(f, message, cursor, false);
 }
 
-/* Bind */
 static void
-pqTraceOutputB(FILE *f, const char *message, int *cursor)
+pqTraceOutput_Bind(FILE *f, const char *message, int *cursor)
 {
    int         nparams;
 
        pqTraceOutputInt16(f, message, cursor);
 }
 
-/* Close(F) or CommandComplete(B) */
 static void
-pqTraceOutputC(FILE *f, bool toServer, const char *message, int *cursor)
+pqTraceOutput_Close(FILE *f, const char *message, int *cursor)
 {
-   if (toServer)
-   {
-       fprintf(f, "Close\t");
-       pqTraceOutputByte1(f, message, cursor);
-       pqTraceOutputString(f, message, cursor, false);
-   }
-   else
-   {
-       fprintf(f, "CommandComplete\t");
-       pqTraceOutputString(f, message, cursor, false);
-   }
+   fprintf(f, "Close\t");
+   pqTraceOutputByte1(f, message, cursor);
+   pqTraceOutputString(f, message, cursor, false);
+}
+
+static void
+pqTraceOutput_CommandComplete(FILE *f, const char *message, int *cursor)
+{
+   fprintf(f, "CommandComplete\t");
+   pqTraceOutputString(f, message, cursor, false);
 }
 
-/* Describe(F) or DataRow(B) */
 static void
-pqTraceOutputD(FILE *f, bool toServer, const char *message, int *cursor)
+pqTraceOutput_DataRow(FILE *f, const char *message, int *cursor)
 {
-   if (toServer)
+   int         nfields;
+   int         len;
+   int         i;
+
+   fprintf(f, "DataRow\t");
+   nfields = pqTraceOutputInt16(f, message, cursor);
+   for (i = 0; i < nfields; i++)
    {
-       fprintf(f, "Describe\t");
-       pqTraceOutputByte1(f, message, cursor);
-       pqTraceOutputString(f, message, cursor, false);
+       len = pqTraceOutputInt32(f, message, cursor, false);
+       if (len == -1)
+           continue;
+       pqTraceOutputNchar(f, len, message, cursor);
    }
-   else
-   {
-       int         nfields;
-       int         len;
-       int         i;
+}
 
-       fprintf(f, "DataRow\t");
-       nfields = pqTraceOutputInt16(f, message, cursor);
-       for (i = 0; i < nfields; i++)
-       {
-           len = pqTraceOutputInt32(f, message, cursor, false);
-           if (len == -1)
-               continue;
-           pqTraceOutputNchar(f, len, message, cursor);
-       }
-   }
+static void
+pqTraceOutput_Describe(FILE *f, const char *message, int *cursor)
+{
+   fprintf(f, "Describe\t");
+   pqTraceOutputByte1(f, message, cursor);
+   pqTraceOutputString(f, message, cursor, false);
 }
 
-/* NoticeResponse / ErrorResponse */
+/* shared code NoticeResponse / ErrorResponse */
 static void
 pqTraceOutputNR(FILE *f, const char *type, const char *message, int *cursor,
                bool regress)
    }
 }
 
-/* Execute(F) or ErrorResponse(B) */
 static void
-pqTraceOutputE(FILE *f, bool toServer, const char *message, int *cursor, bool regress)
+pqTraceOutput_ErrorResponse(FILE *f, const char *message, int *cursor, bool regress)
 {
-   if (toServer)
-   {
-       fprintf(f, "Execute\t");
-       pqTraceOutputString(f, message, cursor, false);
-       pqTraceOutputInt32(f, message, cursor, false);
-   }
-   else
-       pqTraceOutputNR(f, "ErrorResponse", message, cursor, regress);
+   pqTraceOutputNR(f, "ErrorResponse", message, cursor, regress);
+}
+
+static void
+pqTraceOutput_NoticeResponse(FILE *f, const char *message, int *cursor, bool regress)
+{
+   pqTraceOutputNR(f, "NoticeResponse", message, cursor, regress);
 }
 
-/* CopyFail */
 static void
-pqTraceOutputf(FILE *f, const char *message, int *cursor)
+pqTraceOutput_Execute(FILE *f, const char *message, int *cursor, bool regress)
+{
+   fprintf(f, "Execute\t");
+   pqTraceOutputString(f, message, cursor, false);
+   pqTraceOutputInt32(f, message, cursor, false);
+}
+
+static void
+pqTraceOutput_CopyFail(FILE *f, const char *message, int *cursor)
 {
    fprintf(f, "CopyFail\t");
    pqTraceOutputString(f, message, cursor, false);
 }
 
-/* FunctionCall */
 static void
-pqTraceOutputF(FILE *f, const char *message, int *cursor, bool regress)
+pqTraceOutput_FunctionCall(FILE *f, const char *message, int *cursor, bool regress)
 {
    int         nfields;
    int         nbytes;
    pqTraceOutputInt16(f, message, cursor);
 }
 
-/* CopyInResponse */
 static void
-pqTraceOutputG(FILE *f, const char *message, int *cursor)
+pqTraceOutput_CopyInResponse(FILE *f, const char *message, int *cursor)
 {
    int         nfields;
 
        pqTraceOutputInt16(f, message, cursor);
 }
 
-/* CopyOutResponse */
 static void
-pqTraceOutputH(FILE *f, const char *message, int *cursor)
+pqTraceOutput_CopyOutResponse(FILE *f, const char *message, int *cursor)
 {
    int         nfields;
 
        pqTraceOutputInt16(f, message, cursor);
 }
 
-/* BackendKeyData */
 static void
-pqTraceOutputK(FILE *f, const char *message, int *cursor, bool regress)
+pqTraceOutput_BackendKeyData(FILE *f, const char *message, int *cursor, bool regress)
 {
    fprintf(f, "BackendKeyData\t");
    pqTraceOutputInt32(f, message, cursor, regress);
    pqTraceOutputInt32(f, message, cursor, regress);
 }
 
-/* Parse */
 static void
-pqTraceOutputP(FILE *f, const char *message, int *cursor, bool regress)
+pqTraceOutput_Parse(FILE *f, const char *message, int *cursor, bool regress)
 {
    int         nparams;
 
        pqTraceOutputInt32(f, message, cursor, regress);
 }
 
-/* Query */
 static void
-pqTraceOutputQ(FILE *f, const char *message, int *cursor)
+pqTraceOutput_Query(FILE *f, const char *message, int *cursor)
 {
    fprintf(f, "Query\t");
    pqTraceOutputString(f, message, cursor, false);
 }
 
-/* Authentication */
 static void
-pqTraceOutputR(FILE *f, const char *message, int *cursor)
+pqTraceOutput_Authentication(FILE *f, const char *message, int *cursor)
 {
    fprintf(f, "Authentication\t");
    pqTraceOutputInt32(f, message, cursor, false);
 }
 
-/* ParameterStatus */
 static void
-pqTraceOutputS(FILE *f, const char *message, int *cursor)
+pqTraceOutput_ParameterStatus(FILE *f, const char *message, int *cursor)
 {
    fprintf(f, "ParameterStatus\t");
    pqTraceOutputString(f, message, cursor, false);
    pqTraceOutputString(f, message, cursor, false);
 }
 
-/* ParameterDescription */
 static void
-pqTraceOutputt(FILE *f, const char *message, int *cursor, bool regress)
+pqTraceOutput_ParameterDescription(FILE *f, const char *message, int *cursor, bool regress)
 {
    int         nfields;
 
        pqTraceOutputInt32(f, message, cursor, regress);
 }
 
-/* RowDescription */
 static void
-pqTraceOutputT(FILE *f, const char *message, int *cursor, bool regress)
+pqTraceOutput_RowDescription(FILE *f, const char *message, int *cursor, bool regress)
 {
    int         nfields;
 
    }
 }
 
-/* NegotiateProtocolVersion */
 static void
-pqTraceOutputv(FILE *f, const char *message, int *cursor)
+pqTraceOutput_NegotiateProtocolVersion(FILE *f, const char *message, int *cursor)
 {
    fprintf(f, "NegotiateProtocolVersion\t");
    pqTraceOutputInt32(f, message, cursor, false);
    pqTraceOutputInt32(f, message, cursor, false);
 }
 
-/* FunctionCallResponse */
 static void
-pqTraceOutputV(FILE *f, const char *message, int *cursor)
+pqTraceOutput_FunctionCallResponse(FILE *f, const char *message, int *cursor)
 {
    int         len;
 
        pqTraceOutputNchar(f, len, message, cursor);
 }
 
-/* CopyBothResponse */
 static void
-pqTraceOutputW(FILE *f, const char *message, int *cursor, int length)
+pqTraceOutput_CopyBothResponse(FILE *f, const char *message, int *cursor, int length)
 {
    fprintf(f, "CopyBothResponse\t");
    pqTraceOutputByte1(f, message, cursor);
        pqTraceOutputInt16(f, message, cursor);
 }
 
-/* ReadyForQuery */
 static void
-pqTraceOutputZ(FILE *f, const char *message, int *cursor)
+pqTraceOutput_ReadyForQuery(FILE *f, const char *message, int *cursor)
 {
    fprintf(f, "ReadyForQuery\t");
    pqTraceOutputByte1(f, message, cursor);
     * name) fields can change as server code is modified, and if their
     * lengths differ from the originals, that would break tests.
     */
-   if (regress && !toServer && (id == 'E' || id == 'N'))
+   if (regress && !toServer && (id == PqMsg_ErrorResponse || id == PqMsg_NoticeResponse))
        fprintf(conn->Pfdebug, "%s\tNN\t", prefix);
    else
        fprintf(conn->Pfdebug, "%s\t%d\t", prefix, length);
            /* No message content */
            break;
        case PqMsg_NotificationResponse:
-           pqTraceOutputA(conn->Pfdebug, message, &logCursor, regress);
+           pqTraceOutput_NotificationResponse(conn->Pfdebug, message, &logCursor, regress);
            break;
        case PqMsg_Bind:
-           pqTraceOutputB(conn->Pfdebug, message, &logCursor);
+           pqTraceOutput_Bind(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_CopyDone:
            fprintf(conn->Pfdebug, "CopyDone");
        case PqMsg_CommandComplete:
            /* Close(F) and CommandComplete(B) use the same identifier. */
            Assert(PqMsg_Close == PqMsg_CommandComplete);
-           pqTraceOutputC(conn->Pfdebug, toServer, message, &logCursor);
+           if (toServer)
+               pqTraceOutput_Close(conn->Pfdebug, message, &logCursor);
+           else
+               pqTraceOutput_CommandComplete(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_CopyData:
            /* Drop COPY data to reduce the overhead of logging. */
        case PqMsg_Describe:
            /* Describe(F) and DataRow(B) use the same identifier. */
            Assert(PqMsg_Describe == PqMsg_DataRow);
-           pqTraceOutputD(conn->Pfdebug, toServer, message, &logCursor);
+           if (toServer)
+               pqTraceOutput_Describe(conn->Pfdebug, message, &logCursor);
+           else
+               pqTraceOutput_DataRow(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_Execute:
            /* Execute(F) and ErrorResponse(B) use the same identifier. */
            Assert(PqMsg_Execute == PqMsg_ErrorResponse);
-           pqTraceOutputE(conn->Pfdebug, toServer, message, &logCursor,
-                          regress);
+           if (toServer)
+               pqTraceOutput_Execute(conn->Pfdebug, message, &logCursor, regress);
+           else
+               pqTraceOutput_ErrorResponse(conn->Pfdebug, message, &logCursor, regress);
            break;
        case PqMsg_CopyFail:
-           pqTraceOutputf(conn->Pfdebug, message, &logCursor);
+           pqTraceOutput_CopyFail(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_FunctionCall:
-           pqTraceOutputF(conn->Pfdebug, message, &logCursor, regress);
+           pqTraceOutput_FunctionCall(conn->Pfdebug, message, &logCursor, regress);
            break;
        case PqMsg_CopyInResponse:
-           pqTraceOutputG(conn->Pfdebug, message, &logCursor);
+           pqTraceOutput_CopyInResponse(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_Flush:
            /* Flush(F) and CopyOutResponse(B) use the same identifier */
            Assert(PqMsg_CopyOutResponse == PqMsg_Flush);
-           if (!toServer)
-               pqTraceOutputH(conn->Pfdebug, message, &logCursor);
-           else
+           if (toServer)
                fprintf(conn->Pfdebug, "Flush");    /* no message content */
+           else
+               pqTraceOutput_CopyOutResponse(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_EmptyQueryResponse:
            fprintf(conn->Pfdebug, "EmptyQueryResponse");
            /* No message content */
            break;
        case PqMsg_BackendKeyData:
-           pqTraceOutputK(conn->Pfdebug, message, &logCursor, regress);
+           pqTraceOutput_BackendKeyData(conn->Pfdebug, message, &logCursor, regress);
            break;
        case PqMsg_NoData:
            fprintf(conn->Pfdebug, "NoData");
            /* No message content */
            break;
        case PqMsg_NoticeResponse:
-           pqTraceOutputNR(conn->Pfdebug, "NoticeResponse", message,
-                           &logCursor, regress);
+           pqTraceOutput_NoticeResponse(conn->Pfdebug, message, &logCursor, regress);
            break;
        case PqMsg_Parse:
-           pqTraceOutputP(conn->Pfdebug, message, &logCursor, regress);
+           pqTraceOutput_Parse(conn->Pfdebug, message, &logCursor, regress);
            break;
        case PqMsg_Query:
-           pqTraceOutputQ(conn->Pfdebug, message, &logCursor);
+           pqTraceOutput_Query(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_AuthenticationRequest:
-           pqTraceOutputR(conn->Pfdebug, message, &logCursor);
+           pqTraceOutput_Authentication(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_PortalSuspended:
            fprintf(conn->Pfdebug, "PortalSuspended");
            /* No message content */
            break;
        case PqMsg_Sync:
-           /* Parameter Status(B) and Sync(F) use the same identifier */
+           /* ParameterStatus(B) and Sync(F) use the same identifier */
            Assert(PqMsg_ParameterStatus == PqMsg_Sync);
-           if (!toServer)
-               pqTraceOutputS(conn->Pfdebug, message, &logCursor);
-           else
+           if (toServer)
                fprintf(conn->Pfdebug, "Sync"); /* no message content */
+           else
+               pqTraceOutput_ParameterStatus(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_ParameterDescription:
-           pqTraceOutputt(conn->Pfdebug, message, &logCursor, regress);
+           pqTraceOutput_ParameterDescription(conn->Pfdebug, message, &logCursor, regress);
            break;
        case PqMsg_RowDescription:
-           pqTraceOutputT(conn->Pfdebug, message, &logCursor, regress);
+           pqTraceOutput_RowDescription(conn->Pfdebug, message, &logCursor, regress);
            break;
        case PqMsg_NegotiateProtocolVersion:
-           pqTraceOutputv(conn->Pfdebug, message, &logCursor);
+           pqTraceOutput_NegotiateProtocolVersion(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_FunctionCallResponse:
-           pqTraceOutputV(conn->Pfdebug, message, &logCursor);
+           pqTraceOutput_FunctionCallResponse(conn->Pfdebug, message, &logCursor);
            break;
        case PqMsg_CopyBothResponse:
-           pqTraceOutputW(conn->Pfdebug, message, &logCursor, length);
+           pqTraceOutput_CopyBothResponse(conn->Pfdebug, message, &logCursor, length);
            break;
        case PqMsg_Terminate:
            fprintf(conn->Pfdebug, "Terminate");
            /* No message content */
            break;
        case PqMsg_ReadyForQuery:
-           pqTraceOutputZ(conn->Pfdebug, message, &logCursor);
+           pqTraceOutput_ReadyForQuery(conn->Pfdebug, message, &logCursor);
            break;
        default:
            fprintf(conn->Pfdebug, "Unknown message: %02x", id);