CREATE/DROP TRIGGER statement nodes
authorVadim B. Mikheev
Sun, 31 Aug 1997 11:43:09 +0000 (11:43 +0000)
committerVadim B. Mikheev
Sun, 31 Aug 1997 11:43:09 +0000 (11:43 +0000)
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h

index 16d50d3b701eb2bf690ddeef7da7f4482f4f7747..ecf8cff61c29dc9bf2751a2f3df7abda53b041cc 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: nodes.h,v 1.9 1997/05/22 00:15:58 scrappy Exp $
+ * $Id: nodes.h,v 1.10 1997/08/31 11:43:08 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -183,6 +183,8 @@ typedef enum NodeTag {
     T_VariableSetStmt,
     T_VariableShowStmt,
     T_VariableResetStmt,
+    T_CreateTrigStmt,
+    T_DropTrigStmt,
 
     T_A_Expr = 700,
     T_Attr,
index 7d55e49e3e0920d5b5332742bb6df5757d43f71c..19f551559e4ceb4453f450cf1334388f8bb5f046 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parsenodes.h,v 1.20 1997/08/22 04:05:27 vadim Exp $
+ * $Id: parsenodes.h,v 1.21 1997/08/31 11:43:09 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -149,6 +149,31 @@ typedef struct ConstraintDef {
     void       *def;       /* definition */
 } ConstraintDef;
 
+/* ----------------------
+ * Create/Drop TRIGGER Statements
+ * ----------------------
+ */
+
+typedef struct CreateTrigStmt {
+    NodeTag        type;
+    char       *trigname;  /* TRIGGER' name */
+    char       *relname;   /* triggered relation */
+    char       *funcname;  /* function to call (or NULL) */
+    List       *args;      /* list of (T_String) Values or NULL */
+    bool       before;     /* BEFORE/AFTER */
+    bool       row;        /* ROW/STATEMENT */
+    char       *lang;      /* NULL (which means Clanguage) */
+    char       *text;      /* AS 'text' */
+    List       *upattr;    /* UPDATE OF a, b,... (NI) or NULL */
+    char       *when;      /* WHEN 'a > 10 ...' (NI) or NULL */
+} CreateTrigStmt;
+
+typedef struct DropTrigStmt {
+    NodeTag        type;
+    char       *trigname;  /* TRIGGER' name */
+    char       *relname;   /* triggered relation */
+} DropTrigStmt;
+
 /* ----------------------
  * Create SEQUENCE Statement
  * ----------------------