Index: src/backend/parser/parse_target.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/parser/parse_target.c,v retrieving revision 1.66 diff -c -r1.66 parse_target.c *** src/backend/parser/parse_target.c 2001/03/22 03:59:41 1.66 --- src/backend/parser/parse_target.c 2001/05/19 17:18:11 *************** *** 154,166 **** } else { ! /* Everything else but Attr */ ! p_target = lappend(p_target, ! transformTargetEntry(pstate, ! res->val, ! NULL, ! res->name, ! false)); } targetlist = lnext(targetlist); --- 154,183 ---- } else { ! Node *rteorjoin; ! int sublevels_up; ! ! if (IsA(res->val, Ident) && ! (rteorjoin = refnameRangeOrJoinEntry(pstate, ! ((Ident *) res->val)->name, ! &sublevels_up)) != NULL && ! IsA(rteorjoin, RangeTblEntry)) ! { ! /* Expand SELECT tab FROM tab; to SELECT tab.* FROM tab; */ ! p_target = nconc(p_target, ! expandRelAttrs(pstate, ! (RangeTblEntry *) rteorjoin)); ! } ! else ! { ! /* Everything else */ ! p_target = lappend(p_target, ! transformTargetEntry(pstate, ! res->val, ! NULL, ! res->name, ! false)); ! } } targetlist = lnext(targetlist);