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
21extern bool IsSystemRelation(Relation relation);
22extern bool IsToastRelation(Relation relation);
23extern bool IsCatalogRelation(Relation relation);
24
25extern bool IsSystemClass(Oid relid, Form_pg_class reltuple);
26extern bool IsToastClass(Form_pg_class reltuple);
27
28extern bool IsCatalogRelationOid(Oid relid);
29
30extern bool IsCatalogNamespace(Oid namespaceId);
31extern bool IsToastNamespace(Oid namespaceId);
32
33extern bool IsReservedName(const char *name);
34
35extern bool IsSharedRelation(Oid relationId);
36
37extern Oid GetNewOidWithIndex(Relation relation, Oid indexId,
38 AttrNumber oidcolumn);
39extern Oid GetNewRelFileNode(Oid reltablespace, Relation pg_class,
40 char relpersistence);
41
42#endif /* CATALOG_H */
43