diff options
Diffstat (limited to 'src/backend/nodes/equalfuncs.c')
-rw-r--r-- | src/backend/nodes/equalfuncs.c | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c index ab84f5d3d20..68e93e48b08 100644 --- a/src/backend/nodes/equalfuncs.c +++ b/src/backend/nodes/equalfuncs.c @@ -20,7 +20,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.163 2002/11/11 22:19:22 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.164 2002/11/15 02:50:06 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1971,15 +1971,32 @@ _equalConstraintTest(ConstraintTest *a, ConstraintTest *b) return false; if (!equalstr(a->name, b->name)) return false; + if (!equalstr(a->domname, b->domname)) + return false; if (!equal(a->check_expr, b->check_expr)) return false; return true; } +static bool +_equalConstraintTestValue(ConstraintTestValue *a, ConstraintTestValue *b) +{ + if (a->typeId != b->typeId) + return false; + if (a->typeMod != b->typeMod) + return false; + return true; +} + +static bool +_equalDomainConstraintValue(DomainConstraintValue *a, DomainConstraintValue *b) +{ + return true; +} + /* * Stuff from pg_list.h */ - static bool _equalValue(Value *a, Value *b) { @@ -2438,6 +2455,9 @@ equal(void *a, void *b) case T_ConstraintTest: retval = _equalConstraintTest(a, b); break; + case T_ConstraintTestValue: + retval = _equalConstraintTestValue(a, b); + break; case T_FkConstraint: retval = _equalFkConstraint(a, b); break; @@ -2450,6 +2470,9 @@ equal(void *a, void *b) case T_InsertDefault: retval = _equalInsertDefault(a, b); break; + case T_DomainConstraintValue: + retval = _equalDomainConstraintValue(a, b); + break; default: elog(WARNING, "equal: don't know whether nodes of type %d are equal", |