]> granicus.if.org Git - postgresql/blob - src/include/utils/inval.h
Massive commit to run PGINDENT on all *.c and *.h files.
[postgresql] / src / include / utils / inval.h
1 /*-------------------------------------------------------------------------
2  *
3  * inval.h--
4  *        POSTGRES cache invalidation dispatcher definitions.
5  *
6  *
7  * Copyright (c) 1994, Regents of the University of California
8  *
9  * $Id: inval.h,v 1.5 1997/09/07 05:02:36 momjian Exp $
10  *
11  *-------------------------------------------------------------------------
12  */
13 #ifndef INVAL_H
14 #define INVAL_H
15
16 #include <access/htup.h>
17 #include <utils/rel.h>
18
19 extern void             DiscardInvalid(void);
20
21 extern void             RegisterInvalid(bool send);
22
23 extern void             SetRefreshWhenInvalidate(bool on);
24
25 extern void             RelationInvalidateHeapTuple(Relation relation, HeapTuple tuple);
26
27 /*
28  * POSTGRES local cache invalidation definitions. (originates from linval.h)
29  */
30 typedef struct InvalidationUserData
31 {
32         struct InvalidationUserData *dataP[1];          /* VARIABLE LENGTH */
33 }                               InvalidationUserData;   /* VARIABLE LENGTH STRUCTURE */
34
35 typedef struct InvalidationEntryData
36 {
37         InvalidationUserData *nextP;
38         InvalidationUserData userData;          /* VARIABLE LENGTH ARRAY */
39 }                               InvalidationEntryData;  /* VARIABLE LENGTH STRUCTURE */
40
41 typedef Pointer InvalidationEntry;
42
43 typedef InvalidationEntry LocalInvalid;
44
45 #define EmptyLocalInvalid               NULL
46
47 #endif                                                  /* INVAL_H */