Hi,

nodeMergejoin.c does not compile when EXEC_MERGEJOINDEBUG is defined:

In file included from src/backend/executor/nodeMergejoin.c:96:
src/backend/executor/nodeMergejoin.c: In function 'ExecMergeTupleDumpOuter':
src/include/executor/execdebug.h:107:57: warning: implicit declaration of
function 'debugtup'; did you mean 'MJ_debugtup'?
[-Wimplicit-function-declaration]
  107 | #define MJ_debugtup(slot)
debugtup(slot, NULL)
      |                                                         ^~~~~~~~
src/backend/executor/nodeMergejoin.c:551:17: note: in expansion of macro
'MJ_debugtup'
  551 |                 MJ_debugtup(outerSlot);
      |                 ^~~~~~~~~~~

debugtup() is declared in access/printtup.h, but execdebug.h includes
only executor/executor.h and nodes/print.h.  The attached one-line patch
adds it.

As for back-patching, I think master alone is enough since this is
debug-only code, but I don't have a strong opinion.

Regards,
Tatsuya Kawata

Attachment: v1-0001-Fix-compilation-of-nodeMergejoin.c-with-EXEC_MERG.patch
Description: Binary data

Reply via email to