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

Reply via email to