1 /*-------------------------------------------------------------------------
4 * POSTGRES cache invalidation dispatcher definitions.
7 * Portions Copyright (c) 1996-2008, 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.43 2008/06/19 00:46:06 alvherre Exp $
12 *-------------------------------------------------------------------------
17 #include "access/htup.h"
18 #include "utils/relcache.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 BeginNonTransactionalInvalidation(void);
42 extern void EndNonTransactionalInvalidation(void);
44 extern void CacheInvalidateHeapTuple(Relation relation, HeapTuple tuple);
46 extern void CacheInvalidateRelcache(Relation relation);
48 extern void CacheInvalidateRelcacheByTuple(HeapTuple classTuple);
50 extern void CacheInvalidateRelcacheByRelid(Oid relid);
52 extern void CacheRegisterSyscacheCallback(int cacheid,
53 CacheCallbackFunction func,
56 extern void CacheRegisterRelcacheCallback(CacheCallbackFunction func,
59 extern void inval_twophase_postcommit(TransactionId xid, uint16 info,
60 void *recdata, uint32 len);