From 3e00c9db4a4cdd4ac64c57096e2aca85b7814369 Mon Sep 17 00:00:00 2001 From: Jan Wieck Date: Thu, 13 Apr 2000 11:51:07 +0000 Subject: [PATCH] Fixed CREATE TYPE to recognize changed parsenodes Jan --- src/backend/commands/define.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/define.c b/src/backend/commands/define.c index c77b467089..b7e7edd373 100644 --- a/src/backend/commands/define.c +++ b/src/backend/commands/define.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/define.c,v 1.40 2000/04/12 17:14:58 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/define.c,v 1.41 2000/04/13 11:51:07 wieck Exp $ * * DESCRIPTION * The "DefineFoo" routines take the parse tree and pick out the @@ -631,7 +631,7 @@ DefineType(char *typeName, List *parameters) if (!strcasecmp(a, "double")) alignment = 'd'; - else if (!strcasecmp(a, "int")) + else if (!strcasecmp(a, "int4")) alignment = 'i'; else { @@ -741,8 +741,11 @@ defGetTypeLength(DefElem *def) if (nodeTag(def->arg) == T_Integer) return intVal(def->arg); else if (nodeTag(def->arg) == T_String && - !strcasecmp(strVal(def->arg), "variable")) + !strcasecmp(strVal(def->arg), "variable")) return -1; /* variable length */ + else if (nodeTag(def->arg) == T_TypeName && + !strcasecmp(((TypeName *)(def->arg))->name, "variable")) + return -1; elog(ERROR, "Define: \"%s\" = what?", def->defname); return -1; -- 2.11.0