* POSTGRES cache invalidation dispatcher definitions.
*
*
- * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/utils/inval.h,v 1.30 2004/02/10 01:55:26 tgl Exp $
+ * src/include/utils/inval.h
*
*-------------------------------------------------------------------------
*/
#define INVAL_H
#include "access/htup.h"
+#include "storage/relfilenode.h"
+#include "utils/relcache.h"
-typedef void (*CacheCallbackFunction) (Datum arg, Oid relid);
+typedef void (*SyscacheCallbackFunction) (Datum arg, int cacheid, uint32 hashvalue);
+typedef void (*RelcacheCallbackFunction) (Datum arg, Oid relid);
extern void AcceptInvalidationMessages(void);
-extern void AtEOXactInvalidationMessages(bool isCommit);
+extern void AtEOXact_Inval(bool isCommit);
-extern void CommandEndInvalidationMessages(bool isCommit);
+extern void AtEOSubXact_Inval(bool isCommit);
-extern void CacheInvalidateHeapTuple(Relation relation, HeapTuple tuple);
+extern void AtPrepare_Inval(void);
+
+extern void PostPrepare_Inval(void);
+
+extern void CommandEndInvalidationMessages(void);
+
+extern void CacheInvalidateHeapTuple(Relation relation,
+ HeapTuple tuple,
+ HeapTuple newtuple);
+
+extern void CacheInvalidateCatalog(Oid catalogId);
extern void CacheInvalidateRelcache(Relation relation);
extern void CacheInvalidateRelcacheByTuple(HeapTuple classTuple);
+extern void CacheInvalidateRelcacheByRelid(Oid relid);
+
+extern void CacheInvalidateSmgr(RelFileNodeBackend rnode);
+
+extern void CacheInvalidateRelmap(Oid databaseId);
+
extern void CacheRegisterSyscacheCallback(int cacheid,
- CacheCallbackFunction func,
+ SyscacheCallbackFunction func,
Datum arg);
-extern void CacheRegisterRelcacheCallback(CacheCallbackFunction func,
+extern void CacheRegisterRelcacheCallback(RelcacheCallbackFunction func,
Datum arg);
+extern void CallSyscacheCallbacks(int cacheid, uint32 hashvalue);
+
+extern void InvalidateSystemCaches(void);
#endif /* INVAL_H */