1 /*-------------------------------------------------------------------------
4 * POSTGRES cache invalidation dispatcher definitions.
7 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/utils/inval.h
12 *-------------------------------------------------------------------------
17 #include "access/htup.h"
18 #include "storage/relfilenode.h"
19 #include "utils/relcache.h"
22 typedef void (*SyscacheCallbackFunction) (Datum arg, int cacheid, uint32 hashvalue);
23 typedef void (*RelcacheCallbackFunction) (Datum arg, Oid relid);
26 extern void AcceptInvalidationMessages(void);
28 extern void AtEOXact_Inval(bool isCommit);
30 extern void AtEOSubXact_Inval(bool isCommit);
32 extern void PostPrepare_Inval(void);
34 extern void CommandEndInvalidationMessages(void);
36 extern void CacheInvalidateHeapTuple(Relation relation,
40 extern void CacheInvalidateCatalog(Oid catalogId);
42 extern void CacheInvalidateRelcache(Relation relation);
44 extern void CacheInvalidateRelcacheAll(void);
46 extern void CacheInvalidateRelcacheByTuple(HeapTuple classTuple);
48 extern void CacheInvalidateRelcacheByRelid(Oid relid);
50 extern void CacheInvalidateSmgr(RelFileNodeBackend rnode);
52 extern void CacheInvalidateRelmap(Oid databaseId);
54 extern void CacheRegisterSyscacheCallback(int cacheid,
55 SyscacheCallbackFunction func,
58 extern void CacheRegisterRelcacheCallback(RelcacheCallbackFunction func,
61 extern void CallSyscacheCallbacks(int cacheid, uint32 hashvalue);
63 extern void InvalidateSystemCaches(void);