diff -ur ../cvs-pgsql/src/backend/parser/gram.y ./src/backend/parser/gram.y --- ../cvs-pgsql/src/backend/parser/gram.y 2008-10-29 13:37:47.000000000 +0200 +++ ./src/backend/parser/gram.y 2008-10-29 16:49:09.000000000 +0200 @@ -6416,6 +6416,25 @@ $$ = (Node *)n; } | values_clause { $$ = $1; } + | TABLE table_ref + { + /* same as SELECT * FROM table_ref */ + ColumnRef *cr = makeNode(ColumnRef); + ResTarget *rt = makeNode(ResTarget); + SelectStmt *n = makeNode(SelectStmt); + + cr->fields = list_make1(makeNode(A_Star)); + cr->location = -1; + + rt->name = NULL; + rt->indirection = NIL; + rt->val = (Node *)cr; + rt->location = -1; + + n->targetList = list_make1(rt); + n->fromClause = list_make1($2); + $$ = (Node *)n; + } | select_clause UNION opt_all select_clause { $$ = makeSetOp(SETOP_UNION, $3, $1, $4);