diff options
Diffstat (limited to 'src/include/commands/event_trigger.h')
-rw-r--r-- | src/include/commands/event_trigger.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/include/commands/event_trigger.h b/src/include/commands/event_trigger.h index 3ebb374939a..459d27fbbef 100644 --- a/src/include/commands/event_trigger.h +++ b/src/include/commands/event_trigger.h @@ -16,6 +16,21 @@ #include "catalog/pg_event_trigger.h" #include "nodes/parsenodes.h" +typedef struct EventTriggerData +{ + NodeTag type; + char *event; /* event name */ + Node *parsetree; /* parse tree */ + const char *tag; /* command tag */ +} EventTriggerData; + +/* + * EventTriggerData is the node type that is passed as fmgr "context" info + * when a function is called by the event trigger manager. + */ +#define CALLED_AS_EVENT_TRIGGER(fcinfo) \ + ((fcinfo)->context != NULL && IsA((fcinfo)->context, EventTriggerData)) + extern void CreateEventTrigger(CreateEventTrigStmt *stmt); extern void RemoveEventTriggerById(Oid ctrigOid); extern Oid get_event_trigger_oid(const char *trigname, bool missing_ok); @@ -25,4 +40,7 @@ extern void RenameEventTrigger(const char* trigname, const char *newname); extern void AlterEventTriggerOwner(const char *name, Oid newOwnerId); extern void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId); +extern bool EventTriggerSupportsObjectType(ObjectType obtype); +extern void EventTriggerDDLCommandStart(Node *parsetree); + #endif /* EVENT_TRIGGER_H */ |