diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index 16d50d3b70..ecf8cff61c 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -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, diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 7d55e49e3e..19f551559e 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -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 * ----------------------