aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/typecmds.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2003-09-09 23:22:21 +0000
committerPeter Eisentraut <peter_e@gmx.net>2003-09-09 23:22:21 +0000
commit33d4c828fde8a21c90c4fb16721be904c719338a (patch)
tree81ac9d21d267e42abf02c3466bc0520a51b91510 /src/backend/commands/typecmds.c
parent3610f083c1bf49a9f878a9feab0d0e1763034002 (diff)
downloadpostgresql-33d4c828fde8a21c90c4fb16721be904c719338a.tar.gz
postgresql-33d4c828fde8a21c90c4fb16721be904c719338a.zip
Some "feature not supported" errors are better syntax errors, because the
feature they complain about isn't a feature or cannot be implemented without definitional changes.
Diffstat (limited to 'src/backend/commands/typecmds.c')
-rw-r--r--src/backend/commands/typecmds.c43
1 files changed, 15 insertions, 28 deletions
diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c
index bb339cfb770..53dffdab101 100644
--- a/src/backend/commands/typecmds.c
+++ b/src/backend/commands/typecmds.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/typecmds.c,v 1.43 2003/08/08 21:41:32 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/typecmds.c,v 1.44 2003/09/09 23:22:19 petere Exp $
*
* DESCRIPTION
* The "DefineFoo" routines take the parse tree and pick out the
@@ -594,8 +594,8 @@ DefineDomain(CreateDomainStmt *stmt)
/* Check for unsupported constraint types */
if (IsA(newConstraint, FkConstraint))
ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("FOREIGN KEY constraints not supported for domains")));
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("foreign key constraints not possible for domains")));
/* otherwise it should be a plain Constraint */
if (!IsA(newConstraint, Constraint))
@@ -672,14 +672,14 @@ DefineDomain(CreateDomainStmt *stmt)
*/
case CONSTR_UNIQUE:
ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("UNIQUE constraints not supported for domains")));
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("unique constraints not possible for domains")));
break;
case CONSTR_PRIMARY:
ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("PRIMARY KEY constraints not supported for domains")));
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("primary key constraints not possible for domains")));
break;
case CONSTR_ATTR_DEFERRABLE:
@@ -688,7 +688,7 @@ DefineDomain(CreateDomainStmt *stmt)
case CONSTR_ATTR_IMMEDIATE:
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("deferrability constraints not supported for domains")));
+ errmsg("specifying constraint deferrability not supported for domains")));
break;
default:
@@ -1453,8 +1453,8 @@ AlterDomainAddConstraint(List *names, Node *newConstraint)
/* Check for unsupported constraint types */
if (IsA(newConstraint, FkConstraint))
ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("FOREIGN KEY constraints not supported for domains")));
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("foreign key constraints not possible for domains")));
/* otherwise it should be a plain Constraint */
if (!IsA(newConstraint, Constraint))
@@ -1465,33 +1465,20 @@ AlterDomainAddConstraint(List *names, Node *newConstraint)
switch (constr->contype)
{
- case CONSTR_DEFAULT:
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("use ALTER DOMAIN .. SET DEFAULT instead")));
- break;
-
- case CONSTR_NOTNULL:
- case CONSTR_NULL:
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("use ALTER DOMAIN .. [ SET | DROP ] NOT NULL instead")));
- break;
-
case CONSTR_CHECK:
/* processed below */
break;
case CONSTR_UNIQUE:
ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("UNIQUE constraints not supported for domains")));
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("unique constraints not possible for domains")));
break;
case CONSTR_PRIMARY:
ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("PRIMARY KEY constraints not supported for domains")));
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("primary key constraints not possible for domains")));
break;
case CONSTR_ATTR_DEFERRABLE:
@@ -1500,7 +1487,7 @@ AlterDomainAddConstraint(List *names, Node *newConstraint)
case CONSTR_ATTR_IMMEDIATE:
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("deferrability constraints not supported for domains")));
+ errmsg("specifying constraint deferrability not supported for domains")));
break;
default: