Remove unnecessary array object_classes[] in dependency.c
authorMichael Paquier <michael@paquier.xyz>
Tue, 27 Feb 2024 06:18:17 +0000 (15:18 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 27 Feb 2024 06:18:17 +0000 (15:18 +0900)
commitef5e2e90859a39efdd3a78e528c544b585295a78
treed8862c9ff15c9823a788f77263a97bbd82f5e8d4
parent743112a2e9938b98d716384fa9374c41afe74e41
Remove unnecessary array object_classes[] in dependency.c

object_classes[] provided unnecessary indirection between catalog OIDs
and the enum ObjectClass when calling add_object_address().  This array
has been originally introduced in 30ec31604d5 and was useful because not
all relation OIDs were compile-time constants back then, which has not
been the case for a long time now for all the elements of ObjectClass.

This commit removes object_classes[], switching to the catalog OIDs
when calling add_object_address().  This shaves some code while saving
in maintenance because it was necessary to maintain the enum ObjectClass
and the array in sync when adding new object types.

Reported-by: Jeff Davis
Author: Jelte Fennema-Nio
Reviewed-by: Jian He, Michael Paquier
Discussion: https://postgr.es/m/CAGECzQT3caUbcCcszNewCCmMbCuyP7XNAm60J3ybd6PN5kH2Dw@mail.gmail.com
src/backend/catalog/dependency.c
src/include/catalog/dependency.h