Hi, On 2022-04-06 23:15:27 -0700, Jeff Davis wrote: > I'm happy with this patch and I committed it.
That caused breakage with WAL_DEBUG enabled. Fixed that. But it was half-broken before, at least since 70e81861fad, because 'rmid' didn't refer to the current record's rmid anymore, but to rmid from "Initialize resource managers" - a constant. Causes plenty new warnings here: In file included from /home/andres/src/postgresql/src/include/access/xlogrecord.h:14, from /home/andres/src/postgresql/src/include/access/xlogreader.h:41, from /home/andres/src/postgresql/src/include/access/brin_xlog.h:17, from /home/andres/src/postgresql/src/backend/access/transam/rmgr.c:10: /home/andres/src/postgresql/src/backend/access/transam/rmgr.c: In function ‘RegisterCustomRmgr’: /home/andres/src/postgresql/src/include/access/rmgr.h:42:66: warning: comparison is always true due to limited range of data type [-Wtype-limits] 42 | (rmid) <= RM_MAX_CUSTOM_ID) | ^~ /home/andres/src/postgresql/src/backend/access/transam/rmgr.c:104:14: note: in expansion of macro ‘RMID_IS_CUSTOM’ 104 | if (!RMID_IS_CUSTOM(rmid)) | ^~~~~~~~~~~~~~ In file included from /home/andres/src/postgresql/src/include/c.h:814, from /home/andres/src/postgresql/src/include/postgres.h:46, from /home/andres/src/postgresql/src/bin/pg_waldump/rmgrdesc.c:9: /home/andres/src/postgresql/src/bin/pg_waldump/rmgrdesc.c: In function ‘GetRmgrDesc’: /home/andres/src/postgresql/src/include/access/rmgr.h:42:66: warning: comparison is always true due to limited range of data type [-Wtype-limits] 42 | (rmid) <= RM_MAX_CUSTOM_ID) | ^~ /home/andres/src/postgresql/src/bin/pg_waldump/rmgrdesc.c:89:9: note: in expansion of macro ‘Assert’ 89 | Assert(RMID_IS_VALID(rmid)); | ^~~~~~ /home/andres/src/postgresql/src/include/access/rmgr.h:43:57: note: in expansion of macro ‘RMID_IS_CUSTOM’ 43 | #define RMID_IS_VALID(rmid) (RMID_IS_BUILTIN((rmid)) || RMID_IS_CUSTOM((rmid))) | ^~~~~~~~~~~~~~ /home/andres/src/postgresql/src/bin/pg_waldump/rmgrdesc.c:89:16: note: in expansion of macro ‘RMID_IS_VALID’ 89 | Assert(RMID_IS_VALID(rmid)); | ^~~~~~~~~~~~~ /home/andres/src/postgresql/src/include/access/rmgr.h:42:66: warning: comparison is always true due to limited range of data type [-Wtype-limits] 42 | (rmid) <= RM_MAX_CUSTOM_ID) | ^~ /home/andres/src/postgresql/src/bin/pg_waldump/rmgrdesc.c:89:9: note: in expansion of macro ‘Assert’ 89 | Assert(RMID_IS_VALID(rmid)); | ^~~~~~ /home/andres/src/postgresql/src/include/access/rmgr.h:43:57: note: in expansion of macro ‘RMID_IS_CUSTOM’ 43 | #define RMID_IS_VALID(rmid) (RMID_IS_BUILTIN((rmid)) || RMID_IS_CUSTOM((rmid))) | ^~~~~~~~~~~~~~ /home/andres/src/postgresql/src/bin/pg_waldump/rmgrdesc.c:89:16: note: in expansion of macro ‘RMID_IS_VALID’ 89 | Assert(RMID_IS_VALID(rmid)); | ^~~~~~~~~~~~~ Greetings, Andres Freund