File tree 3 files changed +22
-17
lines changed
java/net/sf/jsqlparser/statement/grant
jjtree/net/sf/jsqlparser/parser
test/java/net/sf/jsqlparser/statement/grant
3 files changed +22
-17
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ public class Grant implements Statement {
24
24
25
25
private String role ;
26
26
private List <String > privileges ;
27
- private List <String > objectName = new ArrayList <>();
27
+ private final List <String > objectName = new ArrayList <>();
28
28
private List <String > users ;
29
29
30
30
@ Override
Original file line number Diff line number Diff line change @@ -8831,23 +8831,21 @@ Grant Grant():
8831
8831
(
8832
8832
(
8833
8833
[readGrantTypes(privileges) (<K_COMMA> readGrantTypes(privileges))*]
8834
- <K_ON>
8835
- (
8836
- objName=RelObjectNames() { grant.setObjectName(objName.getNames()); }
8837
- )
8838
- )
8839
- |
8840
- (
8841
- tk=<S_IDENTIFIER> { grant.setRole(tk.image); }
8842
- )
8834
+ <K_ON> objName=RelObjectNames() { grant.setObjectName(objName.getNames()); }
8835
+ )
8836
+ |
8837
+ (
8838
+ tk=<S_IDENTIFIER> { grant.setRole(tk.image); }
8843
8839
)
8844
- <K_TO> (users = UsersList() {grant.setUsers(users);})
8840
+ )
8841
+ <K_TO> users = UsersList()
8845
8842
{
8846
- if(privileges.size() > 0) {
8847
- grant.setPrivileges(privileges);
8848
- }
8849
- return grant;
8850
- }
8843
+ grant.setUsers(users);
8844
+ if(privileges.size() > 0) {
8845
+ grant.setPrivileges(privileges);
8846
+ }
8847
+ return grant;
8848
+ }
8851
8849
}
8852
8850
8853
8851
List<String> UsersList():
@@ -8856,7 +8854,7 @@ List<String> UsersList():
8856
8854
String user = null;
8857
8855
}
8858
8856
{
8859
- user=RelObjectName () { users.add(user); }
8857
+ user=RelObjectNameExt () { users.add(user); }
8860
8858
( "," user=ColumnsNamesListItem() { users.add(user); } )*
8861
8859
{
8862
8860
return users;
Original file line number Diff line number Diff line change 13
13
import net .sf .jsqlparser .JSQLParserException ;
14
14
import net .sf .jsqlparser .parser .CCJSqlParserManager ;
15
15
import static net .sf .jsqlparser .test .TestUtils .*;
16
+ import static net .sf .jsqlparser .test .TestUtils .assertSqlCanBeParsedAndDeparsed ;
16
17
import static org .junit .jupiter .api .Assertions .assertEquals ;
17
18
import org .junit .jupiter .api .Test ;
18
19
@@ -97,4 +98,10 @@ public void testGrantQueryWithRole() throws JSQLParserException {
97
98
public void testGrantSchemaParsingIssue1080 () throws JSQLParserException {
98
99
assertSqlCanBeParsedAndDeparsed ("GRANT SELECT ON schema_name.table_name TO XYZ" );
99
100
}
101
+
102
+ @ Test
103
+ void testPublicKeywordIssue2230 () throws JSQLParserException {
104
+ String sqlStr = "grant select on da380_now to public;" ;
105
+ assertSqlCanBeParsedAndDeparsed (sqlStr , true );
106
+ }
100
107
}
You can’t perform that action at this time.
0 commit comments