Remove dead code
authorPeter Eisentraut <[email protected]>
Thu, 16 Jan 2025 13:37:28 +0000 (14:37 +0100)
committerPeter Eisentraut <[email protected]>
Thu, 16 Jan 2025 13:37:28 +0000 (14:37 +0100)
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 <[email protected]>
Discussion: https://www.postgresql.org/message-id/flat/CACJufxHitd5LGLBSSAPShhtDWxT0ViVKTHinkYW-skBX93TcpA@mail.gmail.com

src/backend/commands/typecmds.c

index 0ea8226286595aa00de2ee326598781a93ac40fc..3cb3ca1cca1cd0a23d43d5bf7109f2fd24ea4a13 100644 (file)
@@ -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)
        {