diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index c2cdf58c2e90b090acc5ad8022b272789c023489..4440cf351a7acbce55ba0cbf4a8414696cbc5f18 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.510 2005/09/05 23:50:48 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.511 2005/09/23 22:25:25 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -623,10 +623,6 @@ OptRoleElem: $$ = makeDefElem("unencryptedPassword", (Node *)makeString($3)); } - | SYSID Iconst - { - $$ = makeDefElem("sysid", (Node *)makeInteger($2)); - } | SUPERUSER_P { $$ = makeDefElem("superuser", (Node *)makeInteger(TRUE)); @@ -680,17 +676,19 @@ OptRoleElem: { $$ = makeDefElem("connectionlimit", (Node *)makeInteger($3)); } - | IN_P ROLE name_list + | VALID UNTIL Sconst { - $$ = makeDefElem("addroleto", (Node *)$3); + $$ = makeDefElem("validUntil", (Node *)makeString($3)); } - | IN_P GROUP_P name_list + /* Supported but not documented for roles, for use by ALTER GROUP. */ + | USER name_list { - $$ = makeDefElem("addroleto", (Node *)$3); + $$ = makeDefElem("rolemembers", (Node *)$2); } - | VALID UNTIL Sconst + /* The following are not supported by ALTER ROLE/USER/GROUP */ + | SYSID Iconst { - $$ = makeDefElem("validUntil", (Node *)makeString($3)); + $$ = makeDefElem("sysid", (Node *)makeInteger($2)); } | ADMIN name_list { @@ -700,9 +698,13 @@ OptRoleElem: { $$ = makeDefElem("rolemembers", (Node *)$2); } - | USER name_list + | IN_P ROLE name_list { - $$ = makeDefElem("rolemembers", (Node *)$2); + $$ = makeDefElem("addroleto", (Node *)$3); + } + | IN_P GROUP_P name_list + { + $$ = makeDefElem("addroleto", (Node *)$3); } ;