1 /*-------------------------------------------------------------------------
2  *
3  * evtcache.h
4  *	  Special-purpose cache for event trigger data.
5  *
6  * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  * IDENTIFICATION
10  *	  src/include/utils/evtcache.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef EVTCACHE_H
15 #define EVTCACHE_H
16 
17 #include "nodes/bitmapset.h"
18 #include "nodes/pg_list.h"
19 
20 typedef enum
21 {
22 	EVT_DDLCommandStart,
23 	EVT_DDLCommandEnd,
24 	EVT_SQLDrop,
25 	EVT_TableRewrite
26 } EventTriggerEvent;
27 
28 typedef struct
29 {
30 	Oid			fnoid;			/* function to be called */
31 	char		enabled;		/* as SESSION_REPLICATION_ROLE_* */
32 	Bitmapset  *tagset;			/* command tags, or NULL if empty */
33 } EventTriggerCacheItem;
34 
35 extern List *EventCacheLookup(EventTriggerEvent event);
36 
37 #endif							/* EVTCACHE_H */
38