On 25 November 2015 at 13:36, Tom Lane <t...@sss.pgh.pa.us> wrote: > Craig Ringer <cr...@2ndquadrant.com> writes: > > Actually, if __declspec(dllexport) or a .DEF entry was added in, say, > > 9.4.5, you could probably just: > > > #if PG_VERSION_NUM < 90405 > > extern int* log_min_messages_p; > > #define log_min_messages (*log_min_messages_p) > > #endif > > > after including all PostgreSQL headers. It won't work for inline > functions > > defined in PostgreSQL headers, but should otherwise be OK I think. > > Some of these workarounds look like they would break if we add the missing > PGDLLIMPORT in future releases. That would be nasty :-(. Am I misreading > it? > > I don't think they will, but without testing and more digging I can't be sure. If marking the variable __declspec(dllexport) causes its import table entry to be omitted then yes, that'd break things.
I'll try to dig out my Windows VM and prep a few tests once I've delivered on the promised pglogical downstream. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services