On Mon, Aug 23, 2021 at 10:15:04AM -0400, Tom Lane wrote: > Bruce Momjian <br...@momjian.us> writes: > > On Sun, Aug 22, 2021 at 09:29:01PM +0800, Julien Rouhaud wrote: > >> Then shouldn't we try to prevent direct access on all platforms rather than > >> only one? > > > Agreed. If Julian says 99% of the non-export problems are GUCs, and we > > can just export them all, why not do it? We already export every global > > variable on Unix-like systems, and we have seen no downsides. > > By that argument, *every* globally-visible variable should be marked > PGDLLIMPORT. But the mere fact that two backend .c files need to access
No, Julien says 99% need only the GUCs, so that is not the argument I am making. > some variable doesn't mean that we want any random bit of code doing so. > > And yes, I absolutely would prohibit extensions from accessing many > of them, if there were a reasonable way to do it. It would be a good > start towards establishing a defined API for extensions. Well, if Unix needed it, we would have addressed this more regularly, but since it is only Windows that has this _feature_, it is the rare Windows cases that need adjustment, and usually as an afterthought since Windows isn't usually a primary tested platform. What I am saying is that if we blocked global variable access on Unix, initial testing would have showed what needs to be exported and it would not be as big a problem. -- Bruce Momjian <br...@momjian.us> https://momjian.us EDB https://enterprisedb.com If only the physical world exists, free will is an illusion.