From 2ca45d572952a6a6ea29fc039426c57bb6ebfe3f Mon Sep 17 00:00:00 2001
From: "Vadim B. Mikheev" <vadim4o@yahoo.com>
Date: Mon, 1 Sep 1997 08:10:12 +0000
Subject: [PATCH] Function prototypes.

---
 src/include/commands/trigger.h | 38 ++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h
index a9d1c736798..e603a3f8dc4 100644
--- a/src/include/commands/trigger.h
+++ b/src/include/commands/trigger.h
@@ -9,7 +9,45 @@
 #ifndef TRIGGER_H
 #define TRIGGER_H
 
+#include "access/tupdesc.h"
+#include "access/htup.h"
+#include "utils/rel.h"
+
+typedef uint32 TriggerAction;
+
+#define TRIGGER_ACTION_INSERT		0x00000000  
+#define TRIGGER_ACTION_DELETE		0x00000001   
+#define TRIGGER_ACTION_UPDATE		0x00000010
+#define TRIGGER_ACTION_OPMASK		0x00000011
+#define TRIGGER_ACTION_ROW		4
+
+#define TRIGGER_FIRED_BY_INSERT (action)	\
+	(((TriggerAction) action & TRIGGER_ACTION_OPMASK) == \
+						TRIGGER_ACTION_INSERT)
+
+#define TRIGGER_FIRED_BY_DELETE (action)	\
+	(((TriggerAction) action & TRIGGER_ACTION_OPMASK) == \
+						TRIGGER_ACTION_DELETE)
+
+#define TRIGGER_FIRED_BY_UPDATE (action)	\
+	(((TriggerAction) action & TRIGGER_ACTION_OPMASK) == \
+						TRIGGER_ACTION_UPDATE)
+
+#define TRIGGER_FIRED_FOR_ROW (action)		\
+	((TriggerAction) action & TRIGGER_ACTION_ROW)
+
+#define TRIGGER_FIRED_FOR_STATEMENT (action)	\
+	(!TRIGGER_FIRED_FOR_ROW (action))
+
+
 extern void CreateTrigger (CreateTrigStmt *stmt);
 extern void DropTrigger (DropTrigStmt *stmt);
 
+extern HeapTuple ExecBRInsertTriggers (Relation rel, HeapTuple tuple);
+extern void ExecARInsertTriggers (Relation rel, HeapTuple tuple);
+extern bool ExecBRDeleteTriggers (Relation rel, ItemPointer tupleid);
+extern void ExecARDeleteTriggers (Relation rel, ItemPointer tupleid);
+extern HeapTuple ExecBRUpdateTriggers (Relation rel, ItemPointer tupleid, HeapTuple tuple);
+extern void ExecARUpdateTriggers (Relation rel, ItemPointer tupleid, HeapTuple tuple);
+
 #endif	/* TRIGGER_H */
-- 
GitLab