35 #define CATCACHE_MAXKEYS 4 89 #define CT_MAGIC 0x57261502 160 #define CL_MAGIC 0x52765103 195 int nkeys,
const int *
key,
int cc_keyno[CATCACHE_MAXKEYS]
void CreateCacheMemoryContext(void)
CCHashFN cc_hashfunc[CATCACHE_MAXKEYS]
void CatCacheInvalidate(CatCache *cache, uint32 hashValue)
#define FLEXIBLE_ARRAY_MEMBER
struct catcacheheader CatCacheHeader
void ReleaseCatCache(HeapTuple tuple)
HeapTuple SearchCatCache1(CatCache *cache, Datum v1)
void InitCatCachePhase2(CatCache *cache, bool touch_index)
uint32 GetCatCacheHashValue(CatCache *cache, Datum v1, Datum v2, Datum v3, Datum v4)
HeapTuple SearchCatCache(CatCache *cache, Datum v1, Datum v2, Datum v3, Datum v4)
PGDLLIMPORT MemoryContext CacheMemoryContext
CatCache * InitCatCache(int id, Oid reloid, Oid indexoid, int nkeys, const int *key, int nbuckets)
CatCList * SearchCatCacheList(CatCache *cache, int nkeys, Datum v1, Datum v2, Datum v3)
HeapTuple SearchCatCache3(CatCache *cache, Datum v1, Datum v2, Datum v3)
CCFastEqualFN cc_fastequal[CATCACHE_MAXKEYS]
uint32(* CCHashFN)(Datum datum)
HeapTuple SearchCatCache4(CatCache *cache, Datum v1, Datum v2, Datum v3, Datum v4)
void CatalogCacheFlushCatalog(Oid catId)
void PrintCatCacheLeakWarning(HeapTuple tuple)
void ResetCatalogCaches(void)
void PrintCatCacheListLeakWarning(CatCList *list)
HeapTuple SearchCatCache2(CatCache *cache, Datum v1, Datum v2)
ScanKeyData cc_skey[CATCACHE_MAXKEYS]
bool(* CCFastEqualFN)(Datum a, Datum b)
void ReleaseCatCacheList(CatCList *list)
void PrepareToInvalidateCacheTuple(Relation relation, HeapTuple tuple, HeapTuple newtuple, void(*function)(int, uint32, Oid))