Remove unnecessary array object_classes[] in dependency.c
Michael Paquier <michael@paquier.xyz>
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
| Path | Change | +/− |
|---|---|---|
| src/backend/catalog/dependency.c | modified | +62 −119 |
| src/include/catalog/dependency.h | modified | +1 −3 |
Discussion
- Improve readability by using designated initializers when possible 47 messages · 2024-02-21 → 2024-03-26