2012-07-18 16:16:16 +02:00
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* event_trigger.h
|
|
|
|
* Declarations for command trigger handling.
|
|
|
|
*
|
|
|
|
* Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
|
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
|
|
*
|
|
|
|
* src/include/commands/event_trigger.h
|
|
|
|
*
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
#ifndef EVENT_TRIGGER_H
|
|
|
|
#define EVENT_TRIGGER_H
|
|
|
|
|
|
|
|
#include "catalog/pg_event_trigger.h"
|
|
|
|
#include "nodes/parsenodes.h"
|
|
|
|
|
2012-07-20 17:38:47 +02:00
|
|
|
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))
|
|
|
|
|
2012-07-18 16:16:16 +02:00
|
|
|
extern void CreateEventTrigger(CreateEventTrigStmt *stmt);
|
|
|
|
extern void RemoveEventTriggerById(Oid ctrigOid);
|
|
|
|
extern Oid get_event_trigger_oid(const char *trigname, bool missing_ok);
|
|
|
|
|
|
|
|
extern void AlterEventTrigger(AlterEventTrigStmt *stmt);
|
2012-12-24 17:25:26 +01:00
|
|
|
extern Oid RenameEventTrigger(const char* trigname, const char *newname);
|
|
|
|
extern Oid AlterEventTriggerOwner(const char *name, Oid newOwnerId);
|
2012-07-18 16:16:16 +02:00
|
|
|
extern void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId);
|
|
|
|
|
2012-07-20 17:38:47 +02:00
|
|
|
extern bool EventTriggerSupportsObjectType(ObjectType obtype);
|
|
|
|
extern void EventTriggerDDLCommandStart(Node *parsetree);
|
|
|
|
|
2012-07-18 16:16:16 +02:00
|
|
|
#endif /* EVENT_TRIGGER_H */
|