]> granicus.if.org Git - postgresql/blob - src/include/storage/sinvaladt.h
Run pgindent on 9.2 source tree in preparation for first 9.3
[postgresql] / src / include / storage / sinvaladt.h
1 /*-------------------------------------------------------------------------
2  *
3  * sinvaladt.h
4  *        POSTGRES shared cache invalidation data manager.
5  *
6  * The shared cache invalidation manager is responsible for transmitting
7  * invalidation messages between backends.      Any message sent by any backend
8  * must be delivered to all already-running backends before it can be
9  * forgotten.  (If we run out of space, we instead deliver a "RESET"
10  * message to backends that have fallen too far behind.)
11  *
12  * The struct type SharedInvalidationMessage, defining the contents of
13  * a single message, is defined in sinval.h.
14  *
15  * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
16  * Portions Copyright (c) 1994, Regents of the University of California
17  *
18  * src/include/storage/sinvaladt.h
19  *
20  *-------------------------------------------------------------------------
21  */
22 #ifndef SINVALADT_H
23 #define SINVALADT_H
24
25 #include "storage/proc.h"
26 #include "storage/sinval.h"
27
28 /*
29  * prototypes for functions in sinvaladt.c
30  */
31 extern Size SInvalShmemSize(void);
32 extern void CreateSharedInvalidationState(void);
33 extern void SharedInvalBackendInit(bool sendOnly);
34 extern PGPROC *BackendIdGetProc(int backendID);
35
36 extern void SIInsertDataEntries(const SharedInvalidationMessage *data, int n);
37 extern int      SIGetDataEntries(SharedInvalidationMessage *data, int datasize);
38 extern void SICleanupQueue(bool callerHasWriteLock, int minFree);
39
40 extern LocalTransactionId GetNextLocalTransactionId(void);
41
42 #endif   /* SINVALADT_H */