1 /*-------------------------------------------------------------------------
4 * POSTGRES cache invalidation dispatcher definitions.
7 * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $PostgreSQL: pgsql/src/include/utils/inval.h,v 1.40 2007/01/05 22:19:59 momjian Exp $
12 *-------------------------------------------------------------------------
17 #include "access/htup.h"
18 #include "utils/rel.h"
21 typedef void (*CacheCallbackFunction) (Datum arg, Oid relid);
24 extern void AcceptInvalidationMessages(void);
26 extern void AtStart_Inval(void);
28 extern void AtSubStart_Inval(void);
30 extern void AtEOXact_Inval(bool isCommit);
32 extern void AtEOSubXact_Inval(bool isCommit);
34 extern void AtPrepare_Inval(void);
36 extern void PostPrepare_Inval(void);
38 extern void CommandEndInvalidationMessages(void);
40 extern void CacheInvalidateHeapTuple(Relation relation, HeapTuple tuple);
42 extern void CacheInvalidateRelcache(Relation relation);
44 extern void CacheInvalidateRelcacheByTuple(HeapTuple classTuple);
46 extern void CacheInvalidateRelcacheByRelid(Oid relid);
48 extern void CacheRegisterSyscacheCallback(int cacheid,
49 CacheCallbackFunction func,
52 extern void CacheRegisterRelcacheCallback(CacheCallbackFunction func,
55 extern void inval_twophase_postcommit(TransactionId xid, uint16 info,
56 void *recdata, uint32 len);