diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2001-05-08 21:06:43 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2001-05-08 21:06:43 +0000 |
commit | 1c1c58c76cc53b56da24d0d87365acfdd84e325d (patch) | |
tree | 11ed52e106b089a2d75ed256353b3056aff4a244 /src/backend/parser | |
parent | c50aa9db70b817ee1b982ec0795ed2c81f9ef667 (diff) |
Add SET SESSION AUTHORIZATION command.
Diffstat (limited to 'src/backend/parser')
-rw-r--r-- | src/backend/parser/gram.y | 18 | ||||
-rw-r--r-- | src/backend/parser/keywords.c | 3 |
2 files changed, 17 insertions, 4 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 40c379aca51..0f419edb171 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.223 2001/05/07 00:43:23 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.224 2001/05/08 21:06:42 petere Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -259,7 +259,7 @@ static void doNegateFloat(Value *v); %type <ival> Iconst %type <str> Sconst, comment_text -%type <str> UserId, opt_boolean, var_value, zone_value +%type <str> UserId, opt_boolean, var_value, zone_value, Ident_or_Sconst %type <str> ColId, ColLabel, TokenId %type <node> TableConstraint @@ -292,7 +292,7 @@ static void doNegateFloat(Value *v); */ /* Keywords (in SQL92 reserved words) */ -%token ABSOLUTE, ACTION, ADD, ALL, ALTER, AND, ANY, AS, ASC, AT, +%token ABSOLUTE, ACTION, ADD, ALL, ALTER, AND, ANY, AS, ASC, AT, AUTHORIZATION, BEGIN_TRANS, BETWEEN, BOTH, BY, CASCADE, CASE, CAST, CHAR, CHARACTER, CHECK, CLOSE, COALESCE, COLLATE, COLUMN, COMMIT, @@ -761,6 +761,13 @@ VariableSetStmt: SET ColId TO var_value n->value = $3; $$ = (Node *) n; } + | SET SESSION AUTHORIZATION Ident_or_Sconst + { + VariableSetStmt *n = makeNode(VariableSetStmt); + n->name = "session_authorization"; + n->value = $4; + $$ = (Node *) n; + } ; opt_level: READ COMMITTED { $$ = "committed"; } @@ -837,6 +844,10 @@ opt_encoding: Sconst { $$ = $1; } | /*EMPTY*/ { $$ = NULL; } ; +Ident_or_Sconst: IDENT { $$ = $1; } + | SCONST { $$ = $1; } + + VariableShowStmt: SHOW ColId { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -5459,6 +5470,7 @@ TokenId: ABSOLUTE { $$ = "absolute"; } | AGGREGATE { $$ = "aggregate"; } | ALTER { $$ = "alter"; } | AT { $$ = "at"; } + | AUTHORIZATION { $$ = "authorization"; } | BACKWARD { $$ = "backward"; } | BEFORE { $$ = "before"; } | BEGIN_TRANS { $$ = "begin"; } diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index 8ab19f86ae8..6064ca8a8ff 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.91 2001/05/07 00:43:23 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.92 2001/05/08 21:06:43 petere Exp $ * *------------------------------------------------------------------------- */ @@ -44,6 +44,7 @@ static ScanKeyword ScanKeywords[] = { {"as", AS}, {"asc", ASC}, {"at", AT}, + {"authorization", AUTHORIZATION}, {"backward", BACKWARD}, {"before", BEFORE}, {"begin", BEGIN_TRANS}, |