diff options
author | Bruce Momjian <bruce@momjian.us> | 2001-09-10 14:53:10 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2001-09-10 14:53:10 +0000 |
commit | d70a944e0a54a08586ec8296d9abaf7cb52a9db2 (patch) | |
tree | ae9484a2a0fffaf57546f87fc01f4006316052d3 /src/backend/parser/parse_target.c | |
parent | be18a49d394d106aa1a06d1d8da59327e85be107 (diff) | |
download | postgresql-d70a944e0a54a08586ec8296d9abaf7cb52a9db2.tar.gz postgresql-d70a944e0a54a08586ec8296d9abaf7cb52a9db2.zip |
Bug #1: attribute name when column is type cast:
Given the following table:
test=# \d f
Table "f"
Column | Type | Modifiers
--------+---------+-----------
i | integer |
test | text |
If I do the following:
test=# insert into f values(1,'test');
INSERT 139549 1
test=# select i::int8,test from f;
?column? | test
----------+------
1 | test
(1 row)
It doesn't make much sense that the first column should be called
'?column?'.
The patch results in the output appearing like this:
test=# select i::int8,test from f;
i | test
---+------
1 | test
(1 row)
----------
Gavin Sherry
Diffstat (limited to 'src/backend/parser/parse_target.c')
-rw-r--r-- | src/backend/parser/parse_target.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index 37abe11ef6d..3f99e2c66d6 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.70 2001/08/09 18:28:18 petere Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.71 2001/09/10 14:53:10 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -462,7 +462,10 @@ FigureColname(Node *expr, Node *resval) /* Some of these are easiest to do with the untransformed node */ switch (nodeTag(resval)) { - case T_Ident: + case T_TypeCast: + return( ( ((Ident *) ((TypeCast *) resval)->arg)->name)); + + case T_Ident: return ((Ident *) resval)->name; case T_Attr: { |