Is everyone okay with the following syntax:

CREATE USER username
[ WITH ID digits ]
^^^^^^^^^^^^^^^^^^
[ WITH PASSWORD password ]
[ CREATEDB   | NOCREATEDB ]
[ CREATEUSER | NOCREATEUSER ]
[ IN GROUP     groupname [, ...] ]
[ VALID UNTIL  'abstime' ]

ALTER USER username
[ WITH ID digits ]
^^^^^^^^^^^^^^^^^^
[ WITH PASSWORD password ]
[ CREATEDB | NOCREATEDB ]
[ CREATEUSER | NOCREATEUSER ]
[ IN GROUP groupname [, ...] ]
[ VALID UNTIL 'abstime' ]

The catch is that ID would have to be a new keyword and we'd have to live
with that for a long time. Other choices include:
* UID
* SYSID
* USESYSID
etc.

What do the standards and pseudo-standards say?

I think I'll take a stab at this and settle the createuser script issue
the proper way.

	-Peter

-- 
Peter Eisentraut                  Sernanders vaeg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden


Fri, 12 Nov 1999 16:02:45 +0100 (CET)
Peter Eisentraut <peter_e@gmx.net>
RFC: create/alter user extension
Peter Eisentraut <peter_e@gmx.net> writes:
> Is everyone okay with the following syntax:
> CREATE USER username
> [ WITH ID digits ]
> ^^^^^^^^^^^^^^^^^^

> The catch is that ID would have to be a new keyword and we'd have to live
> with that for a long time. Other choices include:
> * UID
> * SYSID
> * USESYSID
> etc.

I'd be inclined to go with UID or SYSID.  In any case, since the new
keyword is used in such a limited context, we could almost certainly
still allow it as a ColId and thus not create any real compatibility
problem.

			regards, tom lane

Fri, 12 Nov 1999 23:10:02 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: [HACKERS] RFC: create/alter user extension 
On Fri, 12 Nov 1999, Tom Lane wrote:

> Peter Eisentraut <peter_e@gmx.net> writes:
> > Is everyone okay with the following syntax:
> > CREATE USER username
> > [ WITH ID digits ]
> > ^^^^^^^^^^^^^^^^^^
> 
> > The catch is that ID would have to be a new keyword and we'd have to live
> > with that for a long time. Other choices include:
> > * UID
> > * SYSID
> > * USESYSID
> > etc.
> 
> I'd be inclined to go with UID or SYSID.  In any case, since the new
> keyword is used in such a limited context, we could almost certainly
> still allow it as a ColId and thus not create any real compatibility
> problem.

I'm not sure about this distinction. Where would that be reflected in the
(parser) code?

	-Peter

-- 
Peter Eisentraut                  Sernanders vaeg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden


Sat, 13 Nov 1999 14:38:03 +0100 (MET)
Peter Eisentraut <e99re41@DoCS.UU.SE>
Re: [HACKERS] RFC: create/alter user extension 
Peter Eisentraut <e99re41@DoCS.UU.SE> writes:
>> I'd be inclined to go with UID or SYSID.  In any case, since the new
>> keyword is used in such a limited context, we could almost certainly
>> still allow it as a ColId and thus not create any real compatibility
>> problem.

> I'm not sure about this distinction. Where would that be reflected in the
> (parser) code?

You should try to add this (or any other) new keyword to the list in the
ColId: production in gram.y.  If that doesn't provoke any complaints
from yacc (shift/reduce conflicts etc), then you're home free: the
parser won't get confused if the keyword is used as a column name.

If it does cause a shift/reduce conflict, which is fairly likely for
anything that can appear inside an expression, you might still be
able to add the new keyword to the ColLabel: list.  That allows it
to be used as an identifier in a more restricted set of contexts.

Only if neither of these will work does the keyword need to be a
truly "reserved" word.

			regards, tom lane

Sat, 13 Nov 1999 09:57:08 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: [HACKERS] RFC: create/alter user extension 