Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
> > Refactor libpqwalreceiver
>
> Buildfarm results indicate this broke the Windows build.
src/backend/replication/walreceiver.c(296): error C2039: 'pgwin32_connect' : is not a member of
'WalReceiverFunctionsType'[c:\prog\bf\root\HEAD\pgsql.build\postgres.vcxproj]
c:\prog\bf\root\HEAD\pgsql.build\src\include\replication/walreceiver.h(163) : see declaration of
'WalReceiverFunctionsType'
src/backend/replication/walreceiver.c(1152): warning C4003: not enough actual parameters for macro 'send'
[c:\prog\bf\root\HEAD\pgsql.build\postgres.vcxproj]
src/backend/replication/walreceiver.c(1152): error C2039: 'pgwin32_send' : is not a member of
'WalReceiverFunctionsType'[c:\prog\bf\root\HEAD\pgsql.build\postgres.vcxproj]
c:\prog\bf\root\HEAD\pgsql.build\src\include\replication/walreceiver.h(163) : see declaration of
'WalReceiverFunctionsType'
src/backend/replication/walreceiver.c(1152): error C2059: syntax error : ')'
[c:\prog\bf\root\HEAD\pgsql.build\postgres.vcxproj]
src/backend/replication/walreceiver.c(1230): warning C4003: not enough actual parameters for macro 'send'
[c:\prog\bf\root\HEAD\pgsql.build\postgres.vcxproj]
src/backend/replication/walreceiver.c(1230): error C2039: 'pgwin32_send' : is not a member of
'WalReceiverFunctionsType'[c:\prog\bf\root\HEAD\pgsql.build\postgres.vcxproj]
c:\prog\bf\root\HEAD\pgsql.build\src\include\replication/walreceiver.h(163) : see declaration of
'WalReceiverFunctionsType'
src/backend/replication/walreceiver.c(1230): error C2059: syntax error : ')'
[c:\prog\bf\root\HEAD\pgsql.build\postgres.vcxproj]
That's because win32.h has this line:
#define connect(s, name, namelen) pgwin32_connect(s, name, namelen)
which breaks the use of "connect" as a struct member name (same with send).
The easiest fix seems to rename the struct members.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services