On Tue, Jul 22, 2025 at 08:02:52AM +0900, Michael Paquier wrote: > Ah, you mean removing the need to have to maintain BuiltinTrancheIds. > This structure depends on NUM_INDIVIDUAL_LWLOCKS for the start value. > Not really an objection per-se, but trying to automate everything may > impact the readability of this area of the code.
I bet we could maintain a decent level of readability with some extra commentary. IMHO it's worth it to avoid maintaining duplicate lists. But that's not something I feel terribly strong about, if others disagree. FWIW I was imagining something like this: typedef enum BuiltinTrancheIds { LWTRANCHE_INVALID = NUM_INDIVIDUAL_LWLOCKS - 1, #define PG_BUILTIN_LWTRANCHE(id, name) id, #include "storage/lwlocktranchelist.h" #undef PG_BUILTIN_LWTRANCHE LWTRANCHE_FIRST_USER_DEFINED, } BuiltinTrancheIds; -- nathan