PostgreSQL Source Code  git master
catalog.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * catalog.h
4  * prototypes for functions in backend/catalog/catalog.c
5  *
6  *
7  * Portions Copyright (c) 1996-2024, 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 extern bool IsInplaceUpdateRelation(Relation relation);
25 
26 extern bool IsSystemClass(Oid relid, Form_pg_class reltuple);
27 extern bool IsToastClass(Form_pg_class reltuple);
28 
29 extern bool IsCatalogRelationOid(Oid relid);
30 extern bool IsInplaceUpdateOid(Oid relid);
31 
32 extern bool IsCatalogNamespace(Oid namespaceId);
33 extern bool IsToastNamespace(Oid namespaceId);
34 
35 extern bool IsReservedName(const char *name);
36 
37 extern bool IsSharedRelation(Oid relationId);
38 
39 extern bool IsPinnedObject(Oid classId, Oid objectId);
40 
41 extern Oid GetNewOidWithIndex(Relation relation, Oid indexId,
42  AttrNumber oidcolumn);
43 extern RelFileNumber GetNewRelFileNumber(Oid reltablespace,
44  Relation pg_class,
45  char relpersistence);
46 
47 #endif /* CATALOG_H */
int16 AttrNumber
Definition: attnum.h:21
bool IsToastRelation(Relation relation)
Definition: catalog.c:175
bool IsToastNamespace(Oid namespaceId)
Definition: catalog.c:230
bool IsSystemRelation(Relation relation)
Definition: catalog.c:73
Oid GetNewOidWithIndex(Relation relation, Oid indexId, AttrNumber oidcolumn)
Definition: catalog.c:419
RelFileNumber GetNewRelFileNumber(Oid reltablespace, Relation pg_class, char relpersistence)
Definition: catalog.c:528
bool IsCatalogNamespace(Oid namespaceId)
Definition: catalog.c:212
bool IsToastClass(Form_pg_class reltuple)
Definition: catalog.c:195
bool IsCatalogRelation(Relation relation)
Definition: catalog.c:103
bool IsPinnedObject(Oid classId, Oid objectId)
Definition: catalog.c:341
bool IsSharedRelation(Oid relationId)
Definition: catalog.c:273
bool IsCatalogRelationOid(Oid relid)
Definition: catalog.c:120
bool IsInplaceUpdateRelation(Relation relation)
Definition: catalog.c:152
bool IsReservedName(const char *name)
Definition: catalog.c:247
bool IsInplaceUpdateOid(Oid relid)
Definition: catalog.c:162
bool IsSystemClass(Oid relid, Form_pg_class reltuple)
Definition: catalog.c:85
FormData_pg_class * Form_pg_class
Definition: pg_class.h:153
unsigned int Oid
Definition: postgres_ext.h:31
Oid RelFileNumber
Definition: relpath.h:25
const char * name