constr = (Constraint *) newConstraint;
- switch (constr->contype)
- {
- case CONSTR_CHECK:
- case CONSTR_NOTNULL:
- /* processed below */
- break;
-
- case CONSTR_UNIQUE:
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("unique constraints not possible for domains")));
- break;
-
- case CONSTR_PRIMARY:
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("primary key constraints not possible for domains")));
- break;
-
- case CONSTR_EXCLUSION:
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("exclusion constraints not possible for domains")));
- break;
-
- case CONSTR_FOREIGN:
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("foreign key constraints not possible for domains")));
- break;
-
- case CONSTR_ATTR_DEFERRABLE:
- case CONSTR_ATTR_NOT_DEFERRABLE:
- case CONSTR_ATTR_DEFERRED:
- case CONSTR_ATTR_IMMEDIATE:
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("specifying constraint deferrability not supported for domains")));
- break;
-
- case CONSTR_ATTR_ENFORCED:
- case CONSTR_ATTR_NOT_ENFORCED:
- ereport(ERROR,
- (errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
- errmsg("specifying constraint enforceability not supported for domains")));
- break;
-
- default:
- elog(ERROR, "unrecognized constraint subtype: %d",
- (int) constr->contype);
- break;
- }
+ /* enforced by parser */
+ Assert(constr->contype == CONSTR_CHECK || constr->contype == CONSTR_NOTNULL);
if (constr->contype == CONSTR_CHECK)
{