Header And Logo

PostgreSQL
| The world's most advanced open source database.

catalog.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * catalog.h
00004  *    prototypes for functions in backend/catalog/catalog.c
00005  *
00006  *
00007  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00008  * Portions Copyright (c) 1994, Regents of the University of California
00009  *
00010  * src/include/catalog/catalog.h
00011  *
00012  *-------------------------------------------------------------------------
00013  */
00014 #ifndef CATALOG_H
00015 #define CATALOG_H
00016 
00017 #include "catalog/pg_class.h"
00018 #include "storage/relfilenode.h"
00019 #include "utils/relcache.h"
00020 
00021 extern ForkNumber forkname_to_number(char *forkName);
00022 
00023 extern char *GetDatabasePath(Oid dbNode, Oid spcNode);
00024 
00025 
00026 extern bool IsSystemRelation(Relation relation);
00027 extern bool IsToastRelation(Relation relation);
00028 
00029 extern bool IsSystemClass(Form_pg_class reltuple);
00030 extern bool IsToastClass(Form_pg_class reltuple);
00031 
00032 extern bool IsSystemNamespace(Oid namespaceId);
00033 extern bool IsToastNamespace(Oid namespaceId);
00034 
00035 extern bool IsReservedName(const char *name);
00036 
00037 extern bool IsSharedRelation(Oid relationId);
00038 
00039 extern Oid  GetNewOid(Relation relation);
00040 extern Oid GetNewOidWithIndex(Relation relation, Oid indexId,
00041                    AttrNumber oidcolumn);
00042 extern Oid GetNewRelFileNode(Oid reltablespace, Relation pg_class,
00043                   char relpersistence);
00044 
00045 #endif   /* CATALOG_H */