1 /*-------------------------------------------------------------------------
4 * System catalog cache definitions.
6 * See also lsyscache.h, which provides convenience routines for
7 * common cache-lookup operations.
9 * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
10 * Portions Copyright (c) 1994, Regents of the University of California
12 * $Id: syscache.h,v 1.37 2002/02/19 20:11:20 tgl Exp $
14 *-------------------------------------------------------------------------
19 #include "access/htup.h"
22 * Declarations for util/syscache.c.
24 * SysCache identifiers.
26 * The order of these must match the order
27 * they are entered into the structure cacheinfo[] in syscache.c.
28 * Keep them in alphabetical order.
35 #define AMOPSTRATEGY 4
55 #define SHADOWSYSID 24
60 extern void InitCatalogCache(void);
61 extern void InitCatalogCachePhase2(void);
63 extern HeapTuple SearchSysCache(int cacheId,
64 Datum key1, Datum key2, Datum key3, Datum key4);
65 extern void ReleaseSysCache(HeapTuple tuple);
67 /* convenience routines */
68 extern HeapTuple SearchSysCacheCopy(int cacheId,
69 Datum key1, Datum key2, Datum key3, Datum key4);
70 extern bool SearchSysCacheExists(int cacheId,
71 Datum key1, Datum key2, Datum key3, Datum key4);
72 extern Oid GetSysCacheOid(int cacheId,
73 Datum key1, Datum key2, Datum key3, Datum key4);
75 extern Datum SysCacheGetAttr(int cacheId, HeapTuple tup,
76 AttrNumber attributeNumber, bool *isNull);
78 #endif /* SYSCACHE_H */