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