1 | /*------------------------------------------------------------------------- |
2 | * |
3 | * catalog.h |
4 | * prototypes for functions in backend/catalog/catalog.c |
5 | * |
6 | * |
7 | * Portions Copyright (c) 1996-2019, 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 | |
17 | #include "catalog/pg_class.h" |
18 | #include "utils/relcache.h" |
19 | |
20 | |
21 | extern bool IsSystemRelation(Relation relation); |
22 | extern bool IsToastRelation(Relation relation); |
23 | extern bool IsCatalogRelation(Relation relation); |
24 | |
25 | extern bool IsSystemClass(Oid relid, Form_pg_class reltuple); |
26 | extern bool IsToastClass(Form_pg_class reltuple); |
27 | |
28 | extern bool IsCatalogRelationOid(Oid relid); |
29 | |
30 | extern bool IsCatalogNamespace(Oid namespaceId); |
31 | extern bool IsToastNamespace(Oid namespaceId); |
32 | |
33 | extern bool IsReservedName(const char *name); |
34 | |
35 | extern bool IsSharedRelation(Oid relationId); |
36 | |
37 | extern Oid GetNewOidWithIndex(Relation relation, Oid indexId, |
38 | AttrNumber oidcolumn); |
39 | extern Oid GetNewRelFileNode(Oid reltablespace, Relation pg_class, |
40 | char relpersistence); |
41 | |
42 | #endif /* CATALOG_H */ |
43 | |