@@ -172,7 +172,7 @@ make_name(void)
172
172
%token TYPECAST
173
173
174
174
/* Keywords (in SQL92 reserved words) */
175
- %token ABSOLUTE , ACTION , ADD , ALL , ALTER , AND , ANY , AS , ASC ,
175
+ %token ABSOLUTE , ACTION , ADD , ALL , ALTER , AND , ANY , AS , ASC , AT , AUTHORIZATION ,
176
176
BEGIN_TRANS , BETWEEN , BOTH , BY ,
177
177
CASCADE , CASE , CAST , CHAIN , CHAR , CHARACTER ,
178
178
CHARACTERISTICS , CHECK , CLOSE ,
@@ -293,7 +293,7 @@ make_name(void)
293
293
%type <str> row_expr row_descriptor row_list ConstDatetime opt_chain
294
294
%type <str> SelectStmt into_clause OptTemp ConstraintAttributeSpec
295
295
%type <str> opt_table opt_all sort_clause sortby_list ConstraintAttr
296
- %type <str> sortby OptUseOp relation_name_list name_list
296
+ %type <str> sortby OptUseOp relation_name_list name_list ColId_or_Sconst
297
297
%type <str> group_clause having_clause from_clause opt_distinct
298
298
%type <str> join_outer where_clause relation_expr sub_type opt_arg
299
299
%type <str> opt_column_list insert_rest InsertStmt OptimizableStmt
@@ -802,6 +802,10 @@ VariableSetStmt: SET ColId TO var_value
802
802
{
803
803
$$ = cat2_str(make_str(" set names" ), $3 );
804
804
}
805
+ | SET SESSION AUTHORIZATION ColId_or_Sconst
806
+ {
807
+ $$ = cat2_str(make_str(" set session authorization" ), $4 );
808
+ }
805
809
;
806
810
807
811
opt_level : READ COMMITTED { $$ = make_str(" read committed" ); }
@@ -836,6 +840,10 @@ opt_encoding: StringConst { $$ = $1; }
836
840
| /* EMPTY*/ { $$ = EMPTY; }
837
841
;
838
842
843
+ ColId_or_Sconst : ColId { $$ = $1 ; }
844
+ | SCONST { $$ = $1 ; }
845
+ ;
846
+
839
847
VariableShowStmt : SHOW ColId
840
848
{
841
849
$$ = cat2_str(make_str(" show" ), $2 );
@@ -1677,9 +1685,9 @@ comment_text: StringConst { $$ = $1; }
1677
1685
*
1678
1686
*****************************************************************************/
1679
1687
1680
- GrantStmt : GRANT privileges ON relation_name_list TO grantee opt_with_grant
1688
+ GrantStmt : GRANT privileges ON opt_table relation_name_list TO grantee opt_with_grant
1681
1689
{
1682
- $$ = cat_str(7 , make_str(" grant" ), $2 , make_str(" on" ), $4 , make_str(" to" ), $6 );
1690
+ $$ = cat_str(8 , make_str(" grant" ), $2 , make_str(" on" ), $4 , $5 , make_str(" to" ), $7 );
1683
1691
}
1684
1692
;
1685
1693
@@ -1727,6 +1735,14 @@ operation: SELECT
1727
1735
{
1728
1736
$$ = make_str(" rule" );
1729
1737
}
1738
+ | REFERENCES
1739
+ {
1740
+ $$ = make_str(" references" );
1741
+ }
1742
+ | TRIGGER
1743
+ {
1744
+ $$ = make_str(" trigger" );
1745
+ }
1730
1746
;
1731
1747
1732
1748
grantee : PUBLIC
@@ -1758,9 +1774,9 @@ opt_with_grant: WITH GRANT OPTION
1758
1774
*
1759
1775
*****************************************************************************/
1760
1776
1761
- RevokeStmt : REVOKE privileges ON relation_name_list FROM grantee
1777
+ RevokeStmt : REVOKE privileges ON opt_table relation_name_list FROM grantee
1762
1778
{
1763
- $$ = cat_str(7 , make_str(" revoke" ), $2 , make_str(" on" ), $4 , make_str(" from" ), $6 );
1779
+ $$ = cat_str(8 , make_str(" revoke" ), $2 , make_str(" on" ), $4 , $5 , make_str(" from" ), $7 );
1764
1780
}
1765
1781
;
1766
1782
@@ -4939,6 +4955,7 @@ TokenId: ABSOLUTE { $$ = make_str("absolute"); }
4939
4955
| AGGREGATE { $$ = make_str(" aggregate" ); }
4940
4956
| ALTER { $$ = make_str(" alter" ); }
4941
4957
| AT { $$ = make_str(" at" ); }
4958
+ | AUTHORIZATION { $$ = make_str(" authorization" ); }
4942
4959
| BACKWARD { $$ = make_str(" backward" ); }
4943
4960
| BEFORE { $$ = make_str(" before" ); }
4944
4961
| BEGIN_TRANS { $$ = make_str(" begin" ); }
@@ -5027,7 +5044,7 @@ TokenId: ABSOLUTE { $$ = make_str("absolute"); }
5027
5044
| SHARE { $$ = make_str(" share" ); }
5028
5045
| START { $$ = make_str(" start" ); }
5029
5046
| STATEMENT { $$ = make_str(" statement" ); }
5030
- | STATISTICS { $$ = make_str(" statistics" ); }
5047
+ | STATISTICS { $$ = make_str(" statistics" ); }
5031
5048
| STDIN { $$ = make_str(" stdin" ); }
5032
5049
| STDOUT { $$ = make_str(" stdout" ); }
5033
5050
| SYSID { $$ = make_str(" sysid" ); }
0 commit comments