From 7407b2d48cf37bc8847ae6c47dde2164ef2faa34 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 16 Jan 2025 14:37:28 +0100 Subject: [PATCH] Remove dead code As of commit 9895b35cb88, AlterDomainAddConstraint() can only be called with constraints of type CONSTR_CHECK and CONSTR_NOTNULL. So all the code to check for and reject other constraint type values is dead and can be removed. Author: jian he Discussion: https://www.postgresql.org/message-id/flat/CACJufxHitd5LGLBSSAPShhtDWxT0ViVKTHinkYW-skBX93TcpA@mail.gmail.com --- src/backend/commands/typecmds.c | 54 ++------------------------------- 1 file changed, 2 insertions(+), 52 deletions(-) diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c index 0ea82262865..3cb3ca1cca1 100644 --- a/src/backend/commands/typecmds.c +++ b/src/backend/commands/typecmds.c @@ -2953,58 +2953,8 @@ AlterDomainAddConstraint(List *names, Node *newConstraint, 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) { -- 2.30.2