Tom Lane writes:
> PUBLIC is a reserved keyword, so you have to do something like
> select * from "public".vs1;
> if there is a vs1 hiding it in an earlier namespace in the search
> path.
PUBLIC can be made less reserved easily. See patch below.
> I've been vacillating about whether to choose another name for the
> public namespace to avoid the need for quotes here. I can't think
> of another good name :-(
PUBLIC is a good name. Oracle uses it, I think.
diff -u -r2.299 gram.y
--- gram.y 1 Apr 2002 04:35:38 -0000 2.299
+++ gram.y 4 Apr 2002 05:10:23 -0000
@@ -2558,14 +2558,14 @@
n->groupname = NULL;
$$ = (Node *)n;
}
- | GROUP ColId
+ | GROUP UserId
{
PrivGrantee *n = makeNode(PrivGrantee);
n->username = NULL;
n->groupname = $2;
$$ = (Node *)n;
}
- | ColId
+ | UserId
{
PrivGrantee *n = makeNode(PrivGrantee);
n->username = $1;
@@ -5897,7 +5897,6 @@
Iconst: ICONST { $$ = $1; };
Sconst: SCONST { $$ = $1; };
-UserId: ColId { $$ = $1; };
/*
* Name classification hierarchy.
@@ -5913,6 +5912,13 @@
/* Column identifier --- names that can be column, table, etc names.
*/
ColId: IDENT { $$ = $1; }
+ | unreserved_keyword { $$ = $1; }
+ | col_name_keyword { $$ = $1; }
+ | PUBLIC { $$ = "public"; }
+ ;
+
+/* User identifier */
+UserId: IDENT { $$ = $1; }
| unreserved_keyword { $$ = $1; }
| col_name_keyword { $$ = $1; }
;
--
Peter Eisentraut [EMAIL PROTECTED]
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly