From: 'Alvaro Herrera' <alvherre@alvh.no-ip.org>
> > + conn->fe_msg->num_fields != DEF_FE_MSGFIELDS)
> The rationale for that second condition is this: if the memory allocated
> is the initial size, we don't free memory, because it would just be
> allocated of the same size next time, and that size is not very big, so
> it's not a big deal if we just let it be, so that it is reused if we
> call PQtrace() again later. However, if the allocated size is larger
> than default, then it is possible that some previous tracing run has
> enlarged the trace struct to a very large amount of memory, and we don't
> want to leave that in place.
Ah, understood. In that case, num_fields should be max_fields.
This has reminded me that freePGconn() should free be_msg and fe_msg.
Regards
Takayuki Tsunakawa