dt-sql-parser
dt-sql-parser copied to clipboard
[Bug]: sql未正确输入结束但被解析为语法正确的statement
Version
v4.1
Which SQL?
Hive
SQL content
CREATE TABLE table1
JavaScript/TypeScript code
No response
What happened?
建表语句缺少列定义的情况,在 Hive 实际语法中是非法的,但在解析树中没有报错
导致 c3 收集补全时把 statement 开头的所有关键字都收集进来了,正常应该是 AS、Like等等
Relevant log output
No response
这是由于所有类型 SQL 中语句结束符分号都是可选的导致的,考虑可以通过 action 的方式往g4中注入运行时代码,当进行getSuggestion时使分号必选以进行正确的 SQL 切分。