I noticed that recently, a shadow warning has crept into the code I am building.
----------
subscriptioncmds.c:1125:30: warning: declaration of ‘rel’ shadows a
previous local [-Wshadow]
foreach_ptr(SubRemoveRels, rel, sub_remove_rels)
^
../../../src/include/nodes/pg_list.h:482:20: note: in definition of
macro ‘foreach_internal’
for (type pointer var = 0, pointer var##__outerloop = (type pointer) 1; \
^
subscriptioncmds.c:1125:3: note: in expansion of macro ‘foreach_ptr’
foreach_ptr(SubRemoveRels, rel, sub_remove_rels)
^
subscriptioncmds.c:934:11: warning: shadowed declaration is here [-Wshadow]
Relation rel = NULL;
^
----------
This seems to have been introduced recently by the REFRESH SEQUENCES
commit f0b3573.
IIUC, this particular case is harmless, but IMO it's still worth
fixing to avoid recurring doubts about potential issues every time it
appears.
PSA patch v1 to address the warning.
======
Kind Regards,
Peter Smith.
Fujitsu Australia