MCPcopy Create free account
hub / github.com/apache/cloudberry / getObjectClass

Function getObjectClass

src/backend/catalog/dependency.c:2888–3058  ·  view source on GitHub ↗

* Determine the class of a given object identified by objectAddress. * * This function is essentially the reverse mapping for the object_classes[] * table. We implement it as a function because the OIDs aren't consecutive. */

Source from the content-addressed store, hash-verified

2886 * table. We implement it as a function because the OIDs aren't consecutive.
2887 */
2888ObjectClass
2889getObjectClass(const ObjectAddress *object)
2890{
2891 /* only pg_class entries can have nonzero objectSubId */
2892 if (object->classId != RelationRelationId &&
2893 object->objectSubId != 0)
2894 elog(ERROR, "invalid non-zero objectSubId for object class %u",
2895 object->classId);
2896
2897 switch (object->classId)
2898 {
2899 case RelationRelationId:
2900 /* caller must check objectSubId */
2901 return OCLASS_CLASS;
2902
2903 case ProcedureRelationId:
2904 return OCLASS_PROC;
2905
2906 case TypeRelationId:
2907 return OCLASS_TYPE;
2908
2909 case CastRelationId:
2910 return OCLASS_CAST;
2911
2912 case CollationRelationId:
2913 return OCLASS_COLLATION;
2914
2915 case ConstraintRelationId:
2916 return OCLASS_CONSTRAINT;
2917
2918 case ConversionRelationId:
2919 return OCLASS_CONVERSION;
2920
2921 case AttrDefaultRelationId:
2922 return OCLASS_DEFAULT;
2923
2924 case LanguageRelationId:
2925 return OCLASS_LANGUAGE;
2926
2927 case LargeObjectRelationId:
2928 return OCLASS_LARGEOBJECT;
2929
2930 case OperatorRelationId:
2931 return OCLASS_OPERATOR;
2932
2933 case OperatorClassRelationId:
2934 return OCLASS_OPCLASS;
2935
2936 case OperatorFamilyRelationId:
2937 return OCLASS_OPFAMILY;
2938
2939 case AccessMethodRelationId:
2940 return OCLASS_AM;
2941
2942 case AccessMethodOperatorRelationId:
2943 return OCLASS_AMOP;
2944
2945 case AccessMethodProcedureRelationId:

Callers 9

AlterObjectNamespace_oidFunction · 0.85
ATExecAlterColumnTypeFunction · 0.85
deleteObjectsInListFunction · 0.85
DropObjectByIdFunction · 0.85
doDeletionFunction · 0.85
getObjectDescriptionFunction · 0.85
getObjectTypeDescriptionFunction · 0.85
getObjectIdentityPartsFunction · 0.85

Tested by

no test coverage detected