1 /*-------------------------------------------------------------------------
4 * POSTGRES shared cache invalidation data manager.
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.)
12 * The struct type SharedInvalidationMessage, defining the contents of
13 * a single message, is defined in sinval.h.
15 * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
16 * Portions Copyright (c) 1994, Regents of the University of California
18 * src/include/storage/sinvaladt.h
20 *-------------------------------------------------------------------------
25 #include "storage/proc.h"
26 #include "storage/sinval.h"
29 * prototypes for functions in sinvaladt.c
31 extern Size SInvalShmemSize(void);
32 extern void CreateSharedInvalidationState(void);
33 extern void SharedInvalBackendInit(bool sendOnly);
34 extern PGPROC *BackendIdGetProc(int backendID);
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);
40 extern LocalTransactionId GetNextLocalTransactionId(void);
42 #endif /* SINVALADT_H */