Collect built-in LWLock tranche names statically, not dynamically.
Tom Lane <tgl@sss.pgh.pa.us>
Collect built-in LWLock tranche names statically, not dynamically. 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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/slru.c | modified | +0 −3 |
| src/backend/access/transam/xlog.c | modified | +1 −4 |
| src/backend/replication/logical/origin.c | modified | +0 −3 |
| src/backend/replication/slot.c | modified | +0 −3 |
| src/backend/storage/buffer/buf_init.c | modified | +0 −3 |
| src/backend/storage/ipc/procarray.c | modified | +0 −2 |
| src/backend/storage/lmgr/lwlock.c | modified | +167 −92 |
Discussion
- Our naming of wait events is a disaster. 30 messages · 2020-05-12 → 2020-05-16