* See also lsyscache.h, which provides convenience routines for
* common cache-lookup operations.
*
- * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: syscache.h,v 1.42 2002/04/06 06:59:25 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/utils/syscache.h,v 1.67 2007/01/05 22:19:59 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef SYSCACHE_H
#define SYSCACHE_H
-#include "access/htup.h"
+#include "utils/catcache.h"
/*
* Declarations for util/syscache.c.
* Keep them in alphabetical order.
*/
-#define AGGNAME 0
-#define AGGOID 1
-#define AMNAME 2
-#define AMOID 3
-#define AMOPOPID 4
-#define AMOPSTRATEGY 5
-#define AMPROCNUM 6
-#define ATTNAME 7
-#define ATTNUM 8
-#define CLAAMNAME 9
-#define CLAOID 10
-#define GRONAME 11
-#define GROSYSID 12
-#define INDEXRELID 13
-#define INHRELID 14
-#define LANGNAME 15
-#define LANGOID 16
-#define NAMESPACENAME 17
-#define NAMESPACEOID 18
-#define OPERNAME 19
-#define OPEROID 20
-#define PROCNAME 21
-#define PROCOID 22
-#define RELNAMENSP 23
-#define RELOID 24
-#define RULENAME 25
-#define SHADOWNAME 26
-#define SHADOWSYSID 27
-#define STATRELATT 28
-#define TYPENAMENSP 29
-#define TYPEOID 30
-
+#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 AUTHMEMMEMROLE 8
+#define AUTHMEMROLEMEM 9
+#define AUTHNAME 10
+#define AUTHOID 11
+#define CASTSOURCETARGET 12
+#define CLAAMNAMENSP 13
+#define CLAOID 14
+#define CONDEFAULT 15
+#define CONNAMENSP 16
+#define CONOID 17
+#define DATABASEOID 18
+#define INDEXRELID 19
+#define LANGNAME 20
+#define LANGOID 21
+#define NAMESPACENAME 22
+#define NAMESPACEOID 23
+#define OPERNAMENSP 24
+#define OPEROID 25
+#define OPFAMILYAMNAMENSP 26
+#define OPFAMILYOID 27
+#define PROCNAMEARGSNSP 28
+#define PROCOID 29
+#define RELNAMENSP 30
+#define RELOID 31
+#define RULERELNAME 32
+#define STATRELATT 33
+#define TYPENAMENSP 34
+#define TYPEOID 35
extern void InitCatalogCache(void);
extern void InitCatalogCachePhase2(void);
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)
+ Datum key1, Datum key2, Datum key3, Datum key4);
+
+#define ReleaseSysCacheList(x) ReleaseCatCacheList(x)
#endif /* SYSCACHE_H */