Yongtao Huang <yongtaoh2022@gmail.com> writes: > (1) I think *pfree(pub_names.data)* is necessary.
Really?
It looks to me like copy_table, and thence fetch_remote_table_info, is called once within a transaction. So whatever it leaks will be released at transaction end. This is a good thing, because it's messy enough that I seriously doubt that there aren't other leaks in it, or that it'd be practical to expect that it can be made to never leak anything.
If anything, I'd be inclined to remove the random pfree's that are in it now. It's unlikely that they constitute a net win compared to allowing memory context reset to clean things up.