summaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2001-05-08 21:06:43 +0000
committerPeter Eisentraut <peter_e@gmx.net>2001-05-08 21:06:43 +0000
commit1c1c58c76cc53b56da24d0d87365acfdd84e325d (patch)
tree11ed52e106b089a2d75ed256353b3056aff4a244 /src/backend/parser
parentc50aa9db70b817ee1b982ec0795ed2c81f9ef667 (diff)
Add SET SESSION AUTHORIZATION command.
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y18
-rw-r--r--src/backend/parser/keywords.c3
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},