diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-03-29 19:06:29 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-03-29 19:06:29 +0000 |
commit | d5e99ab4d6718e8ef515575e33fb5c6181cdcc96 (patch) | |
tree | 6c817d6358f50ae920207245c3b862b2cdd74ceb /src/backend/parser/parse_target.c | |
parent | 7c1ff354105e2256d7904497d8e282ccec53d2e6 (diff) | |
download | postgresql-d5e99ab4d6718e8ef515575e33fb5c6181cdcc96.tar.gz postgresql-d5e99ab4d6718e8ef515575e33fb5c6181cdcc96.zip |
pg_type has a typnamespace column; system now supports creating types
in different namespaces. Also, cleanup work on relation namespace
support: drop, alter, rename commands work for tables in non-default
namespaces.
Diffstat (limited to 'src/backend/parser/parse_target.c')
-rw-r--r-- | src/backend/parser/parse_target.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index cc56cb6d183..1df2d285a5b 100644 --- a/src/backend/parser/parse_target.c +++ b/src/backend/parser/parse_target.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.79 2002/03/22 02:56:34 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.80 2002/03/29 19:06:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -525,8 +525,15 @@ FigureColnameInternal(Node *node, char **name) case T_A_Const: if (((A_Const *) node)->typename != NULL) { - *name = ((A_Const *) node)->typename->name; - return 1; + List *names = ((A_Const *) node)->typename->names; + + if (names != NIL) + { + while (lnext(names) != NIL) + names = lnext(names); + *name = strVal(lfirst(names)); + return 1; + } } break; case T_TypeCast: @@ -536,8 +543,15 @@ FigureColnameInternal(Node *node, char **name) { if (((TypeCast *) node)->typename != NULL) { - *name = ((TypeCast *) node)->typename->name; - return 1; + List *names = ((TypeCast *) node)->typename->names; + + if (names != NIL) + { + while (lnext(names) != NIL) + names = lnext(names); + *name = strVal(lfirst(names)); + return 1; + } } } break; |