mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
Add DOMAIN check constraints.
Rod Taylor
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user