Remove unnecessary array object_classes[] in dependency.c

Michael Paquier <michael@paquier.xyz>

Commit: ef5e2e90859a39efdd3a78e528c544b585295a78
Author: Michael Paquier <michael@paquier.xyz>
Date: 2024-02-27T06:18:17Z
Releases: 17.0
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

Files

PathChange+/−
src/backend/catalog/dependency.c modified +62 −119
src/include/catalog/dependency.h modified +1 −3

Discussion