postgresql/src/include/utils/syscache.h
PostgreSQL Daemon 2ff501590b Tag appropriate files for rc3
Also performed an initial run through of upgrading our Copyright date to
extend to 2005 ... first run here was very simple ... change everything
where: grep 1996-2004 && the word 'Copyright' ... scanned through the
generated list with 'less' first, and after, to make sure that I only
picked up the right entries ...
2004-12-31 22:04:05 +00:00

95 lines
2.7 KiB
C

/*-------------------------------------------------------------------------
*
* syscache.h
* System catalog cache definitions.
*
* See also lsyscache.h, which provides convenience routines for
* common cache-lookup operations.
*
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/utils/syscache.h,v 1.58 2004/12/31 22:03:46 pgsql Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef SYSCACHE_H
#define SYSCACHE_H
#include "access/htup.h"
/*
* Declarations for util/syscache.c.
*
* SysCache identifiers.
*
* The order of these must match the order
* they are entered into the structure cacheinfo[] in syscache.c.
* Keep them in alphabetical order.
*/
#define AGGFNOID 0
#define AMNAME 1
#define AMOID 2
#define AMOPOPID 3
#define AMOPSTRATEGY 4
#define AMPROCNUM 5
#define ATTNAME 6
#define ATTNUM 7
#define CASTSOURCETARGET 8
#define CLAAMNAMENSP 9
#define CLAOID 10
#define CONDEFAULT 11
#define CONNAMENSP 12
#define CONOID 13
#define GRONAME 14
#define GROSYSID 15
#define INDEXRELID 16
#define INHRELID 17
#define LANGNAME 18
#define LANGOID 19
#define NAMESPACENAME 20
#define NAMESPACEOID 21
#define OPERNAMENSP 22
#define OPEROID 23
#define PROCNAMENSP 24
#define PROCOID 25
#define RELNAMENSP 26
#define RELOID 27
#define RULERELNAME 28
#define SHADOWNAME 29
#define SHADOWSYSID 30
#define STATRELATT 31
#define TYPENAMENSP 32
#define TYPEOID 33
extern void InitCatalogCache(void);
extern void InitCatalogCachePhase2(void);
extern HeapTuple SearchSysCache(int cacheId,
Datum key1, Datum key2, Datum key3, Datum key4);
extern void ReleaseSysCache(HeapTuple tuple);
/* convenience routines */
extern HeapTuple SearchSysCacheCopy(int cacheId,
Datum key1, Datum key2, Datum key3, Datum key4);
extern bool SearchSysCacheExists(int cacheId,
Datum key1, Datum key2, Datum key3, Datum key4);
extern Oid GetSysCacheOid(int cacheId,
Datum key1, Datum key2, Datum key3, Datum key4);
extern HeapTuple SearchSysCacheAttName(Oid relid, const char *attname);
extern HeapTuple SearchSysCacheCopyAttName(Oid relid, const char *attname);
extern bool SearchSysCacheExistsAttName(Oid relid, const char *attname);
extern Datum SysCacheGetAttr(int cacheId, HeapTuple tup,
AttrNumber attributeNumber, bool *isNull);
/* list-search interface. Users of this must import catcache.h too */
extern struct catclist *SearchSysCacheList(int cacheId, int nkeys,
Datum key1, Datum key2, Datum key3, Datum key4);
#define ReleaseSysCacheList(x) ReleaseCatCacheList(x)
#endif /* SYSCACHE_H */