diff options
Diffstat (limited to 'src/include/nodes')
-rw-r--r-- | src/include/nodes/execnodes.h | 9 | ||||
-rw-r--r-- | src/include/nodes/nodes.h | 4 | ||||
-rw-r--r-- | src/include/nodes/parsenodes.h | 19 |
3 files changed, 29 insertions, 3 deletions
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index f62d1cb8159..f955815926d 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: execnodes.h,v 1.77 2002/11/06 22:31:24 tgl Exp $ + * $Id: execnodes.h,v 1.78 2002/11/15 02:50:10 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -113,6 +113,13 @@ typedef struct ExprContext Datum *ecxt_aggvalues; /* precomputed values for Aggref nodes */ bool *ecxt_aggnulls; /* null flags for Aggref nodes */ + /* + * Carry the domain value through the executor for application + * in a domain constraint + */ + Datum domainValue_datum; + bool domainValue_isNull; + /* Functions to call back when ExprContext is shut down */ ExprContext_CB *ecxt_callbacks; } ExprContext; diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index cec75309210..112eac34680 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: nodes.h,v 1.122 2002/11/10 02:17:25 momjian Exp $ + * $Id: nodes.h,v 1.123 2002/11/15 02:50:10 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -171,6 +171,7 @@ typedef enum NodeTag T_ViewStmt, T_LoadStmt, T_CreateDomainStmt, + T_DomainConstraintValue, T_CreatedbStmt, T_DropdbStmt, T_VacuumStmt, @@ -231,6 +232,7 @@ typedef enum NodeTag T_NullTest, T_BooleanTest, T_ConstraintTest, + T_ConstraintTestValue, T_CaseExpr, T_CaseWhen, T_FkConstraint, diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 962452992e8..1198a81de5e 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: parsenodes.h,v 1.213 2002/11/13 00:44:09 momjian Exp $ + * $Id: parsenodes.h,v 1.214 2002/11/15 02:50:12 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -285,10 +285,27 @@ typedef struct ConstraintTest Node *arg; /* input expression */ ConstraintTestType testtype; /* test type */ char *name; /* name of constraint (for error msgs) */ + char *domname; /* name of domain (for error messages) */ Node *check_expr; /* for CHECK test, a boolean expression */ } ConstraintTest; /* + * Placeholder node for the value to be processed by a domains + * check constraint. + */ +typedef struct DomainConstraintValue +{ + NodeTag type; +} DomainConstraintValue; + +typedef struct ConstraintTestValue +{ + NodeTag type; + Oid typeId; + int32 typeMod; +} ConstraintTestValue; + +/* * ColumnDef - column definition (used in various creates) * * If the column has a default value, we may have the value expression |