• Tom Lane's avatar
    Collect built-in LWLock tranche names statically, not dynamically. · 29c3e2dd
    Tom Lane authored
    There is little point in using the LWLockRegisterTranche mechanism for
    built-in tranche names.  It wastes cycles, it creates opportunities for
    bugs (since failing to register a tranche name is a very hard-to-detect
    problem), and the lack of any centralized list of names encourages
    sloppy nonconformity in name choices.  Moreover, since we have a
    centralized list of the tranches anyway in enum BuiltinTrancheIds, we're
    certainly not buying any flexibility in return for these disadvantages.
    
    Hence, nuke all the backend-internal LWLockRegisterTranche calls,
    and instead provide a const array of the builtin tranche names.
    
    (I have in mind to change a bunch of these names shortly, but this
    patch is just about getting them into one place.)
    
    Discussion: https://postgr.es/m/9056.1589419765@sss.pgh.pa.us
    29c3e2dd
slot.c 46 KB