1996-08-28 03:59:28 +02:00
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* inval.h--
|
1997-09-07 07:04:48 +02:00
|
|
|
* POSTGRES cache invalidation dispatcher definitions.
|
1996-08-28 03:59:28 +02:00
|
|
|
*
|
|
|
|
*
|
|
|
|
* Copyright (c) 1994, Regents of the University of California
|
|
|
|
*
|
1998-02-23 18:44:24 +01:00
|
|
|
* $Id: inval.h,v 1.8 1998/02/23 17:44:24 scrappy Exp $
|
1996-08-28 03:59:28 +02:00
|
|
|
*
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
*/
|
1997-09-07 07:04:48 +02:00
|
|
|
#ifndef INVAL_H
|
1996-08-28 03:59:28 +02:00
|
|
|
#define INVAL_H
|
|
|
|
|
1996-11-04 12:51:27 +01:00
|
|
|
#include <access/htup.h>
|
|
|
|
#include <utils/rel.h>
|
1996-08-28 03:59:28 +02:00
|
|
|
|
1998-02-23 18:44:24 +01:00
|
|
|
extern void InitLocalInvalidateData(void);
|
|
|
|
|
1997-09-08 04:41:22 +02:00
|
|
|
extern void DiscardInvalid(void);
|
1996-08-28 03:59:28 +02:00
|
|
|
|
1997-09-08 04:41:22 +02:00
|
|
|
extern void RegisterInvalid(bool send);
|
1996-08-28 03:59:28 +02:00
|
|
|
|
1997-09-08 04:41:22 +02:00
|
|
|
extern void SetRefreshWhenInvalidate(bool on);
|
1996-08-28 03:59:28 +02:00
|
|
|
|
1997-09-08 04:41:22 +02:00
|
|
|
extern void RelationInvalidateHeapTuple(Relation relation, HeapTuple tuple);
|
1996-08-28 03:59:28 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
* POSTGRES local cache invalidation definitions. (originates from linval.h)
|
|
|
|
*/
|
1997-09-07 07:04:48 +02:00
|
|
|
typedef struct InvalidationUserData
|
|
|
|
{
|
|
|
|
struct InvalidationUserData *dataP[1]; /* VARIABLE LENGTH */
|
1997-09-08 23:56:23 +02:00
|
|
|
} InvalidationUserData; /* VARIABLE LENGTH STRUCTURE */
|
1996-08-28 03:59:28 +02:00
|
|
|
|
1997-09-07 07:04:48 +02:00
|
|
|
typedef struct InvalidationEntryData
|
|
|
|
{
|
|
|
|
InvalidationUserData *nextP;
|
|
|
|
InvalidationUserData userData; /* VARIABLE LENGTH ARRAY */
|
1997-09-08 23:56:23 +02:00
|
|
|
} InvalidationEntryData; /* VARIABLE LENGTH STRUCTURE */
|
1996-08-28 03:59:28 +02:00
|
|
|
|
|
|
|
typedef Pointer InvalidationEntry;
|
|
|
|
|
1997-09-07 07:04:48 +02:00
|
|
|
typedef InvalidationEntry LocalInvalid;
|
1996-08-28 03:59:28 +02:00
|
|
|
|
1997-09-07 07:04:48 +02:00
|
|
|
#define EmptyLocalInvalid NULL
|
1996-08-28 03:59:28 +02:00
|
|
|
|
1997-09-07 07:04:48 +02:00
|
|
|
#endif /* INVAL_H */
|