From: 'Alvaro Herrera' <alvhe...@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