1 | /*------------------------------------------------------------------------- |
2 | * |
3 | * evtcache.h |
4 | * Special-purpose cache for event trigger data. |
5 | * |
6 | * Portions Copyright (c) 1996-2019, 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/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 | |