File tree Expand file tree Collapse 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 Expand file tree Collapse file tree 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 {
2424
2525 private String role ;
2626 private List <String > privileges ;
27- private List <String > objectName = new ArrayList <>();
27+ private final List <String > objectName = new ArrayList <>();
2828 private List <String > users ;
2929
3030 @ Override
Original file line number Diff line number Diff line change @@ -8831,23 +8831,21 @@ Grant Grant():
88318831 (
88328832 (
88338833 [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); }
88438839 )
8844- <K_TO> (users = UsersList() {grant.setUsers(users);})
8840+ )
8841+ <K_TO> users = UsersList()
88458842 {
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+ }
88518849}
88528850
88538851List<String> UsersList():
@@ -8856,7 +8854,7 @@ List<String> UsersList():
88568854 String user = null;
88578855}
88588856{
8859- user=RelObjectName () { users.add(user); }
8857+ user=RelObjectNameExt () { users.add(user); }
88608858 ( "," user=ColumnsNamesListItem() { users.add(user); } )*
88618859 {
88628860 return users;
Original file line number Diff line number Diff line change 1313import net .sf .jsqlparser .JSQLParserException ;
1414import net .sf .jsqlparser .parser .CCJSqlParserManager ;
1515import static net .sf .jsqlparser .test .TestUtils .*;
16+ import static net .sf .jsqlparser .test .TestUtils .assertSqlCanBeParsedAndDeparsed ;
1617import static org .junit .jupiter .api .Assertions .assertEquals ;
1718import org .junit .jupiter .api .Test ;
1819
@@ -97,4 +98,10 @@ public void testGrantQueryWithRole() throws JSQLParserException {
9798 public void testGrantSchemaParsingIssue1080 () throws JSQLParserException {
9899 assertSqlCanBeParsedAndDeparsed ("GRANT SELECT ON schema_name.table_name TO XYZ" );
99100 }
101+
102+ @ Test
103+ void testPublicKeywordIssue2230 () throws JSQLParserException {
104+ String sqlStr = "grant select on da380_now to public;" ;
105+ assertSqlCanBeParsedAndDeparsed (sqlStr , true );
106+ }
100107}
You can’t perform that action at this time.
0 commit comments