dt-sql-parser icon indicating copy to clipboard operation
dt-sql-parser copied to clipboard

[Bug]: sql未正确输入结束但被解析为语法正确的statement

Open JackWang032 opened this issue 1 year ago • 1 comments

Version

v4.1

Which SQL?

Hive

SQL content

CREATE TABLE table1

JavaScript/TypeScript code

No response

What happened?

建表语句缺少列定义的情况,在 Hive 实际语法中是非法的,但在解析树中没有报错 image

导致 c3 收集补全时把 statement 开头的所有关键字都收集进来了,正常应该是 AS、Like等等 image

Relevant log output

No response

JackWang032 avatar Nov 07 '24 09:11 JackWang032

这是由于所有类型 SQL 中语句结束符分号都是可选的导致的,考虑可以通过 action 的方式往g4中注入运行时代码,当进行getSuggestion时使分号必选以进行正确的 SQL 切分。

Image

JackWang032 avatar Mar 28 '25 03:03 JackWang032