CREATE/DROP TRIGGER statement nodes
authorVadim B. Mikheev <vadim4o@yahoo.com>
Sun, 31 Aug 1997 11:43:09 +0000 (11:43 +0000)
committerVadim B. Mikheev <vadim4o@yahoo.com>
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
  * ----------------------