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)
    {