1/*-------------------------------------------------------------------------
4 * Declarations for command trigger handling.
6 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
9 * src/include/commands/event_trigger.h
11 *-------------------------------------------------------------------------
13#ifndef EVENT_TRIGGER_H
14#define EVENT_TRIGGER_H
27 const char *
event;
/* event name */
35 * Reasons for relation rewrites.
37 * pg_event_trigger_table_rewrite_reason() uses these values, so make sure to
38 * update the documentation when changing this list.
40 #define AT_REWRITE_ALTER_PERSISTENCE 0x01
41 #define AT_REWRITE_DEFAULT_VAL 0x02
42 #define AT_REWRITE_COLUMN_REWRITE 0x04
43 #define AT_REWRITE_ACCESS_METHOD 0x08
46 * EventTriggerData is the node type that is passed as fmgr "context" info
47 * when a function is called by the event trigger manager.
49 #define CALLED_AS_EVENT_TRIGGER(fcinfo) \
50 ((fcinfo)->context != NULL && IsA((fcinfo)->context, EventTriggerData))
71 bool original,
bool normal);
94 Oid cfgId,
Oid *dictIds,
int ndicts);
97#endif /* EVENT_TRIGGER_H */
void EventTriggerUndoInhibitCommandCollection(void)
void EventTriggerSQLDropAddObject(const ObjectAddress *object, bool original, bool normal)
void EventTriggerAlterTableStart(Node *parsetree)
void EventTriggerOnLogin(void)
void EventTriggerCollectAlterDefPrivs(AlterDefaultPrivilegesStmt *stmt)
bool trackDroppedObjectsNeeded(void)
void EventTriggerDDLCommandStart(Node *parsetree)
void EventTriggerInhibitCommandCollection(void)
bool EventTriggerBeginCompleteQuery(void)
void EventTriggerTableRewrite(Node *parsetree, Oid tableOid, int reason)
bool EventTriggerSupportsObject(const ObjectAddress *object)
bool EventTriggerSupportsObjectType(ObjectType obtype)
Oid CreateEventTrigger(CreateEventTrigStmt *stmt)
Oid AlterEventTrigger(AlterEventTrigStmt *stmt)
void EventTriggerCollectGrant(InternalGrant *istmt)
void EventTriggerSQLDrop(Node *parsetree)
void EventTriggerEndCompleteQuery(void)
void EventTriggerAlterTableRelid(Oid objectId)
struct EventTriggerData EventTriggerData
void EventTriggerCollectAlterTSConfig(AlterTSConfigurationStmt *stmt, Oid cfgId, Oid *dictIds, int ndicts)
PGDLLIMPORT bool event_triggers
void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId)
void EventTriggerAlterTableEnd(void)
void EventTriggerCollectAlterOpFam(AlterOpFamilyStmt *stmt, Oid opfamoid, List *operators, List *procedures)
void EventTriggerCollectCreateOpClass(CreateOpClassStmt *stmt, Oid opcoid, List *operators, List *procedures)
void EventTriggerCollectSimpleCommand(ObjectAddress address, ObjectAddress secondaryObject, Node *parsetree)
void EventTriggerDDLCommandEnd(Node *parsetree)
void EventTriggerCollectAlterTableSubcmd(Node *subcmd, ObjectAddress address)
Oid get_event_trigger_oid(const char *trigname, bool missing_ok)
ObjectAddress AlterEventTriggerOwner(const char *name, Oid newOwnerId)