PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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-2025, 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
21extern bool IsSystemRelation(Relation relation);
22extern bool IsToastRelation(Relation relation);
23extern bool IsCatalogRelation(Relation relation);
24extern bool IsInplaceUpdateRelation(Relation relation);
25
26extern bool IsSystemClass(Oid relid, Form_pg_class reltuple);
27extern bool IsToastClass(Form_pg_class reltuple);
28
29extern bool IsCatalogRelationOid(Oid relid);
30extern bool IsCatalogTextUniqueIndexOid(Oid relid);
31extern bool IsInplaceUpdateOid(Oid relid);
32
33extern bool IsCatalogNamespace(Oid namespaceId);
34extern bool IsToastNamespace(Oid namespaceId);
35
36extern bool IsReservedName(const char *name);
37
38extern bool IsSharedRelation(Oid relationId);
39
40extern bool IsPinnedObject(Oid classId, Oid objectId);
41
42extern Oid GetNewOidWithIndex(Relation relation, Oid indexId,
43 AttrNumber oidcolumn);
44extern RelFileNumber GetNewRelFileNumber(Oid reltablespace,
45 Relation pg_class,
46 char relpersistence);
47
48#endif /* CATALOG_H */
int16 AttrNumber
Definition: attnum.h:21
bool IsToastRelation(Relation relation)
Definition: catalog.c:206
bool IsToastNamespace(Oid namespaceId)
Definition: catalog.c:261
bool IsSystemRelation(Relation relation)
Definition: catalog.c:74
Oid GetNewOidWithIndex(Relation relation, Oid indexId, AttrNumber oidcolumn)
Definition: catalog.c:450
RelFileNumber GetNewRelFileNumber(Oid reltablespace, Relation pg_class, char relpersistence)
Definition: catalog.c:559
bool IsCatalogNamespace(Oid namespaceId)
Definition: catalog.c:243
bool IsToastClass(Form_pg_class reltuple)
Definition: catalog.c:226
bool IsCatalogRelation(Relation relation)
Definition: catalog.c:104
bool IsPinnedObject(Oid classId, Oid objectId)
Definition: catalog.c:372
bool IsSharedRelation(Oid relationId)
Definition: catalog.c:304
bool IsCatalogRelationOid(Oid relid)
Definition: catalog.c:121
bool IsInplaceUpdateRelation(Relation relation)
Definition: catalog.c:183
bool IsReservedName(const char *name)
Definition: catalog.c:278
bool IsInplaceUpdateOid(Oid relid)
Definition: catalog.c:193
bool IsCatalogTextUniqueIndexOid(Oid relid)
Definition: catalog.c:156
bool IsSystemClass(Oid relid, Form_pg_class reltuple)
Definition: catalog.c:86
FormData_pg_class * Form_pg_class
Definition: pg_class.h:156
unsigned int Oid
Definition: postgres_ext.h:30
Oid RelFileNumber
Definition: relpath.h:25
const char * name