Skip to content
Snippets Groups Projects
Select Git revision
  • b85a965f5fc7243d0386085e12f7a6c836503b42
  • master default
  • benchmark-tools
  • postgres-lambda
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
24 results

syscache.h

Blame
  • user avatar
    Bruce Momjian authored
    header files.
    b85a965f
    History
    syscache.h 2.75 KiB
    /*-------------------------------------------------------------------------
     *
     * syscache.h
     *	  System catalog cache definitions.
     *
     * See also lsyscache.h, which provides convenience routines for
     * common cache-lookup operations.
     *
     * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
     * Portions Copyright (c) 1994, Regents of the University of California
     *
     * $PostgreSQL: pgsql/src/include/utils/syscache.h,v 1.64 2006/07/11 13:54:24 momjian Exp $
     *
     *-------------------------------------------------------------------------
     */
    #ifndef SYSCACHE_H
    #define SYSCACHE_H
    
    #include "access/htup.h"
    #include "utils/catcache.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 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 INHRELID		20
    #define LANGNAME		21
    #define LANGOID			22
    #define NAMESPACENAME	23
    #define NAMESPACEOID	24
    #define OPERNAMENSP		25
    #define OPEROID			26
    #define PROCNAMEARGSNSP 27
    #define PROCOID			28
    #define RELNAMENSP		29
    #define RELOID			30
    #define RULERELNAME		31
    #define STATRELATT		32
    #define TYPENAMENSP		33
    #define TYPEOID			34
    
    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 */