Obviously, every translation unit should not be declaring this
separately. It needs to be PGDLLIMPORT as well, to avoid breaking
third-party code that uses any of the functions that the commit
mentioned above changed to macros.
/* Where the Unix socket files are (list of palloc'd strings) */
static List *sock_paths = NIL;
+PQcommMethods *PqCommMethods;
+
/*
* Buffers for low-level I/O.
void (*endcopyout)(bool errorAbort);
} PQcommMethods;
-PQcommMethods *PqCommMethods;
+extern PGDLLIMPORT PQcommMethods *PqCommMethods;
#define pq_comm_reset() (PqCommMethods->comm_reset())
#define pq_flush() (PqCommMethods->flush())