This commit is contained in:
高铁
2021-10-03 11:19:23 +08:00
parent b7e0ce10da
commit c4a2487ce9
2 changed files with 29 additions and 0 deletions
@@ -457,6 +457,11 @@ public class MySqlStatementParser extends SQLStatementParser {
return parseCreateMaterializedView();
}
if(lexer.identifierEquals(FnvHash.Constants.ROLE)) {
lexer.reset(mark);
return parseCreateRole();
}
throw new ParserException("TODO " + lexer.info());
}
@@ -0,0 +1,24 @@
package com.alibaba.druid.bvt.sql.mysql.issues;
import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaStatVisitor;
import com.alibaba.druid.stat.TableStat;
import org.junit.Test;
import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
public class Issue4444 {
@Test
public void test_idle2() throws Exception {
String sql = "create role 'role1'";
MySqlStatementParser parser = new MySqlStatementParser(sql);
SQLStatement statement = parser.parseStatement();
MySqlSchemaStatVisitor visitor = new MySqlSchemaStatVisitor();
statement.accept(visitor);
assertEquals("CREATE ROLE 'role1'", statement.toString());
}
}