catalog.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*-------------------------------------------------------------------------
  2. *
  3. * catalog.h
  4. * prototypes for functions in backend/catalog/catalog.c
  5. *
  6. *
  7. * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
  8. * Portions Copyright (c) 1994, Regents of the University of California
  9. *
  10. * src/include/catalog/catalog.h
  11. *
  12. *-------------------------------------------------------------------------
  13. */
  14. #ifndef CATALOG_H
  15. #define CATALOG_H
  16. #include "catalog/pg_class.h"
  17. #include "utils/relcache.h"
  18. extern bool IsSystemRelation(Relation relation);
  19. extern bool IsToastRelation(Relation relation);
  20. extern bool IsCatalogRelation(Relation relation);
  21. extern bool IsSystemClass(Oid relid, Form_pg_class reltuple);
  22. extern bool IsToastClass(Form_pg_class reltuple);
  23. extern bool IsCatalogRelationOid(Oid relid);
  24. extern bool IsCatalogNamespace(Oid namespaceId);
  25. extern bool IsToastNamespace(Oid namespaceId);
  26. extern bool IsReservedName(const char *name);
  27. extern bool IsSharedRelation(Oid relationId);
  28. extern bool IsPinnedObject(Oid classId, Oid objectId);
  29. extern Oid GetNewOidWithIndex(Relation relation, Oid indexId,
  30. AttrNumber oidcolumn);
  31. extern Oid GetNewRelFileNode(Oid reltablespace, Relation pg_class,
  32. char relpersistence);
  33. #endif /* CATALOG_H */