RE: libpq debug log - Mailing list pgsql-hackers

From tsunakawa.takay@fujitsu.com
Subject RE: libpq debug log
Date
Msg-id TYAPR01MB2990A0DDB5D7FD1A304E48B2FE689@TYAPR01MB2990.jpnprd01.prod.outlook.com
Whole thread Raw
In response to RE: libpq debug log  ("iwata.aya@fujitsu.com" <iwata.aya@fujitsu.com>)
Responses RE: libpq debug log  ("iwata.aya@fujitsu.com" <iwata.aya@fujitsu.com>)
List pgsql-hackers
Hello Iwata-san,


Thanks to removing the static arrays, the code got much smaller.  I'm happy with this result.


(1)
+      (<literal>></literal> for messages from client to server,
+      and <literal><</literal> for messages from server to client),

I think this was meant to say "> or <".  So, maybe you should remove "," at the end of the first line, and replace
"and"with "or". 


(2)
+        case 8 :    /* GSSENCRequest or SSLRequest */
+            /* These messsage does not reach here. */

messsage does -> messages do


(3)
+    fprintf(f, "\tAuthentication");

Why don't you move this \t in each message type to the end of:

+    fprintf(conn->Pfdebug, "%s\t%s\t%d", timestr, prefix, length);

Plus, don't we say in the manual that fields (timestamp, direction, length, message type, and message content) are
separatedby a tab? 
Also, the code doesn't seem to separate the message type and content with a tab.


(4)
Where did the processing for unknown message go in pqTraceOutputMessage()?  Add default label?


(5)
+        case 16:    /* CancelRequest */
+            fprintf(conn->Pfdebug, "%s\t>\t%d\tCancelRequest", timestr, length);

I think this should follow pqTraceOutputMessage().  That is, each case label only print the message type name in case
othermessage types are added in the future. 



Regards
Takayuki Tsunakawa





pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: comment fix in postmaster.c
Next
From: Tomas Vondra
Date:
Subject: Re: cleanup temporary files after crash