提交 2ca45d57 编写于 作者: V Vadim B. Mikheev

Function prototypes.

上级 38f0ffd3
......@@ -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 */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册