00001 /*------------------------------------------------------------------------- 00002 * 00003 * evtcache.c 00004 * Special-purpose cache for event trigger data. 00005 * 00006 * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group 00007 * Portions Copyright (c) 1994, Regents of the University of California 00008 * 00009 * IDENTIFICATION 00010 * src/backend/utils/cache/evtcache.c 00011 * 00012 *------------------------------------------------------------------------- 00013 */ 00014 #ifndef EVTCACHE_H 00015 #define EVTCACHE_H 00016 00017 #include "nodes/pg_list.h" 00018 00019 typedef enum 00020 { 00021 EVT_DDLCommandStart, 00022 EVT_DDLCommandEnd, 00023 EVT_SQLDrop 00024 } EventTriggerEvent; 00025 00026 typedef struct 00027 { 00028 Oid fnoid; /* function to be called */ 00029 char enabled; /* as SESSION_REPLICATION_ROLE_* */ 00030 int ntags; /* number of command tags */ 00031 char **tag; /* command tags in SORTED order */ 00032 } EventTriggerCacheItem; 00033 00034 extern List *EventCacheLookup(EventTriggerEvent event); 00035 00036 #endif /* EVTCACHE_H */