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"<[email protected]>;
????????: 2018??12??16??(??????) ????6:19
??????: "dev"<[email protected]>;
????: "Dilip Raj Baral"<[email protected]>;
????: 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