diff options
Diffstat (limited to 'src/include/utils/catcache.h')
-rw-r--r-- | src/include/utils/catcache.h | 98 |
1 files changed, 52 insertions, 46 deletions
diff --git a/src/include/utils/catcache.h b/src/include/utils/catcache.h index 70a40c3e0a5..6b33ef89b11 100644 --- a/src/include/utils/catcache.h +++ b/src/include/utils/catcache.h @@ -1,19 +1,19 @@ /*------------------------------------------------------------------------- * * catcache.h-- - * Low-level catalog cache definitions. + * Low-level catalog cache definitions. * * * Copyright (c) 1994, Regents of the University of California * - * $Id: catcache.h,v 1.5 1997/08/19 21:40:28 momjian Exp $ + * $Id: catcache.h,v 1.6 1997/09/07 05:02:14 momjian Exp $ * *------------------------------------------------------------------------- */ -#ifndef CATCACHE_H +#ifndef CATCACHE_H #define CATCACHE_H -/* #define CACHEDEBUG turns DEBUG elogs on */ +/* #define CACHEDEBUG turns DEBUG elogs on */ #include <access/htup.h> #include <lib/dllist.h> @@ -21,54 +21,60 @@ #include <utils/rel.h> /* - * struct catctup: tuples in the cache. - * struct catcache: information for managing a cache. + * struct catctup: tuples in the cache. + * struct catcache: information for managing a cache. */ -typedef struct catctup { - HeapTuple ct_tup; /* A pointer to a tuple */ - Dlelem *ct_node; /* points to LRU list is the CatCTup is in the cache, - else, points to the cache if the CatCTup is in - LRU list */ -} CatCTup; +typedef struct catctup +{ + HeapTuple ct_tup; /* A pointer to a tuple */ + Dlelem *ct_node; /* points to LRU list is the CatCTup is in + * the cache, else, points to the cache if + * the CatCTup is in LRU list */ +} CatCTup; /* voodoo constants */ -#define NCCBUCK 500 /* CatCache buckets*/ -#define MAXTUP 300 /* Maximum # of tuples cached per cache */ +#define NCCBUCK 500 /* CatCache buckets */ +#define MAXTUP 300 /* Maximum # of tuples cached per cache */ -typedef struct catcache { - Oid relationId; - Oid indexId; - char *cc_relname; /* relation name for defered open */ - char *cc_indname; /* index name for defered open */ - HeapTuple (*cc_iscanfunc)(); /* index scanfunction */ - TupleDesc cc_tupdesc; /* tuple descriptor from reldesc */ - int id; /* XXX could be improved -hirohama */ - short cc_ntup; /* # of tuples in this cache */ - short cc_maxtup; /* max # of tuples allowed (LRU)*/ - short cc_nkeys; - short cc_size; - short cc_key[4]; - short cc_klen[4]; - ScanKeyData cc_skey[4]; - struct catcache *cc_next; - Dllist *cc_lrulist; /* LRU list, most recent first */ - Dllist *cc_cache[NCCBUCK+1]; -} CatCache; +typedef struct catcache +{ + Oid relationId; + Oid indexId; + char *cc_relname; /* relation name for defered open */ + char *cc_indname; /* index name for defered open */ + HeapTuple(*cc_iscanfunc) (); /* index scanfunction */ + TupleDesc cc_tupdesc; /* tuple descriptor from reldesc */ + int id; /* XXX could be improved -hirohama */ + short cc_ntup; /* # of tuples in this cache */ + short cc_maxtup; /* max # of tuples allowed (LRU) */ + short cc_nkeys; + short cc_size; + short cc_key[4]; + short cc_klen[4]; + ScanKeyData cc_skey[4]; + struct catcache *cc_next; + Dllist *cc_lrulist; /* LRU list, most recent first */ + Dllist *cc_cache[NCCBUCK + 1]; +} CatCache; -#define InvalidCatalogCacheId (-1) +#define InvalidCatalogCacheId (-1) -extern struct catcache *Caches; -extern GlobalMemory CacheCxt; +extern struct catcache *Caches; +extern GlobalMemory CacheCxt; -extern void CatalogCacheIdInvalidate(int cacheId, Index hashIndex, - ItemPointer pointer); -extern void ResetSystemCache(void); -extern CatCache *InitSysCache(char *relname, char *indname, int id, int nkeys, - int key[], HeapTuple (*iScanfuncP)()); -extern HeapTuple SearchSysCache(struct catcache *cache, Datum v1, Datum v2, - Datum v3, Datum v4); -extern void RelationInvalidateCatalogCacheTuple(Relation relation, - HeapTuple tuple, void (*function)()); +extern void +CatalogCacheIdInvalidate(int cacheId, Index hashIndex, + ItemPointer pointer); +extern void ResetSystemCache(void); +extern CatCache * +InitSysCache(char *relname, char *indname, int id, int nkeys, + int key[], HeapTuple(*iScanfuncP) ()); +extern HeapTuple +SearchSysCache(struct catcache * cache, Datum v1, Datum v2, + Datum v3, Datum v4); +extern void +RelationInvalidateCatalogCacheTuple(Relation relation, + HeapTuple tuple, void (*function) ()); -#endif /* CATCACHE_H */ +#endif /* CATCACHE_H */ |