pgsql: Collect built-in LWLock tranche names statically, not dynamicall

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Collect built-in LWLock tranche names statically, not dynamicall
Date: 2020-05-14 15:10:42
Message-ID: E1jZFVS-00042N-8X@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/29c3e2dd5a6aeaf1a23d7d83d665501e2dcc6955

Modified Files
--------------
src/backend/access/transam/slru.c | 3 -
src/backend/access/transam/xlog.c | 5 +-
src/backend/replication/logical/origin.c | 3 -
src/backend/replication/slot.c | 3 -
src/backend/storage/buffer/buf_init.c | 3 -
src/backend/storage/ipc/procarray.c | 2 -
src/backend/storage/lmgr/lwlock.c | 259 ++++++++++++++++++++-----------
7 files changed, 168 insertions(+), 110 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2020-05-14 15:51:21 pgsql: doc: PG 13 relnotes: move docbook version change to doc sect.
Previous Message Michael Paquier 2020-05-14 11:19:10 pgsql: Doc: Fix some inconsistencies with markups