Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
event_trigger.h89 linesDownload Raw Back to commands
1/*-------------------------------------------------------------------------2 *3 * event_trigger.h4 *	  Declarations for command trigger handling.5 *6 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group7 * Portions Copyright (c) 1994, Regents of the University of California8 *9 * src/include/commands/event_trigger.h10 *11 *-------------------------------------------------------------------------12 */13#ifndef EVENT_TRIGGER_H14#define EVENT_TRIGGER_H15 16#include "catalog/dependency.h"17#include "catalog/objectaddress.h"18#include "catalog/pg_event_trigger.h"19#include "nodes/parsenodes.h"20#include "tcop/cmdtag.h"21#include "tcop/deparse_utility.h"22#include "utils/aclchk_internal.h"23 24typedef struct EventTriggerData25{26	NodeTag		type;27	const char *event;			/* event name */28	Node	   *parsetree;		/* parse tree */29	CommandTag	tag;30} EventTriggerData;31 32#define AT_REWRITE_ALTER_PERSISTENCE	0x0133#define AT_REWRITE_DEFAULT_VAL			0x0234#define AT_REWRITE_COLUMN_REWRITE		0x0435#define AT_REWRITE_ACCESS_METHOD		0x0836 37/*38 * EventTriggerData is the node type that is passed as fmgr "context" info39 * when a function is called by the event trigger manager.40 */41#define CALLED_AS_EVENT_TRIGGER(fcinfo) \42	((fcinfo)->context != NULL && IsA((fcinfo)->context, EventTriggerData))43 44extern Oid	CreateEventTrigger(CreateEventTrigStmt *stmt);45extern Oid	get_event_trigger_oid(const char *trigname, bool missing_ok);46 47extern Oid	AlterEventTrigger(AlterEventTrigStmt *stmt);48extern ObjectAddress AlterEventTriggerOwner(const char *name, Oid newOwnerId);49extern void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId);50 51extern bool EventTriggerSupportsObjectType(ObjectType obtype);52extern bool EventTriggerSupportsObjectClass(ObjectClass objclass);53extern void EventTriggerDDLCommandStart(Node *parsetree);54extern void EventTriggerDDLCommandEnd(Node *parsetree);55extern void EventTriggerSQLDrop(Node *parsetree);56extern void EventTriggerTableRewrite(Node *parsetree, Oid tableOid, int reason);57 58extern bool EventTriggerBeginCompleteQuery(void);59extern void EventTriggerEndCompleteQuery(void);60extern bool trackDroppedObjectsNeeded(void);61extern void EventTriggerSQLDropAddObject(const ObjectAddress *object,62										 bool original, bool normal);63 64extern void EventTriggerInhibitCommandCollection(void);65extern void EventTriggerUndoInhibitCommandCollection(void);66 67extern void EventTriggerCollectSimpleCommand(ObjectAddress address,68											 ObjectAddress secondaryObject,69											 Node *parsetree);70 71extern void EventTriggerAlterTableStart(Node *parsetree);72extern void EventTriggerAlterTableRelid(Oid objectId);73extern void EventTriggerCollectAlterTableSubcmd(Node *subcmd,74												ObjectAddress address);75extern void EventTriggerAlterTableEnd(void);76 77extern void EventTriggerCollectGrant(InternalGrant *istmt);78extern void EventTriggerCollectAlterOpFam(AlterOpFamilyStmt *stmt,79										  Oid opfamoid, List *operators,80										  List *procedures);81extern void EventTriggerCollectCreateOpClass(CreateOpClassStmt *stmt,82											 Oid opcoid, List *operators,83											 List *procedures);84extern void EventTriggerCollectAlterTSConfig(AlterTSConfigurationStmt *stmt,85											 Oid cfgId, Oid *dictIds, int ndicts);86extern void EventTriggerCollectAlterDefPrivs(AlterDefaultPrivilegesStmt *stmt);87 88#endif							/* EVENT_TRIGGER_H */89 
codekingpro/portable-devtools · Team Ai