Can use calcite-server parse DDLs, code :
SqlParser.Config sqlParserConfig = SqlParser.configBuilder() .setConformance(SqlConformanceEnum.MYSQL_5) .setLex(Lex.MYSQL) .build(); InputStream inputStream = new ByteArrayInputStream(query.getBytes()); SqlDdlParserImpl parser = new SqlDdlParserImpl(inputStream); parser.setConformance(parserConfig.conformance()); parser.setIdentifierMaxLength(parserConfig.identifierMaxLength()); parser.setQuotedCasing(parserConfig.quotedCasing()); parser.setUnquotedCasing(parserConfig.unquotedCasing()); SqlNode sqlNode = parser.parseSqlStmtEof(); ------------------ ???????? ------------------ ??????: "Dilip Raj Baral"<di...@diliprajbaral.com>; ????????: 2018??12??16??(??????) ????6:19 ??????: "dev"<dev@calcite.apache.org>; ????: "Dilip Raj Baral"<rajb.di...@gmail.com>; ????: Can??t seem to parse DDL staements Hi, team. I have been using Apache Calcite for about two weeks now for one of the projects at my company. I have found it fun and pretty useful so far. I have been able to parse DMLs very smoothly. However, when I tried to parse DDLs like CREATE TABLE, ALTER TABLE, etc., the SqlParser.parseStmt() or SqlParser.parseQuery() failed. I have detailed the specifics in the following SO question. https://stackoverflow.com/questions/53801005/apache-calcite-cant-seem-to-parse-ddl-statements Looking forward to a suggestion. Best regards, Dilip Raj Baral https://diliprajbaral.com