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

feat: generic sql based on spark sql

Open liuxy0551 opened this issue 1 year ago • 12 comments

简介

添加通用 SQL 的语法文件,内容基于 spark sql 改动

参考资料

  • https://www.w3schools.com/sql/sql_syntax.asp
  • https://www.ibm.com/docs/zh/db2/11.5?topic=statements-alter-audit-policy

liuxy0551 avatar Jun 27 '24 09:06 liuxy0551

  1. 仅保留 SELECT、INSERT 等常见语法,其余的删除
  2. 已有的 sql 需要都通过单测

liuxy0551 avatar Jul 31 '24 08:07 liuxy0551

能否支持 insert into/overwrite db.tab [(column list)] select *, 目前db-sql-parser语法不报错需要去掉column list, 但是sparksql是支持这个语法的,https://spark.apache.org/docs/latest/sql-ref-syntax-dml-insert-table.html img_v3_02ed_8b6391bc-a440-440f-a4d3-494c9b5e28cg @liuxy0551

tcodehuber avatar Sep 05 '24 02:09 tcodehuber

能否支持 insert into/overwrite db.tab [(column list)] select *, 目前db-sql-parser语法不报错需要去掉column list, 但是sparksql是支持这个语法的,https://spark.apache.org/docs/latest/sql-ref-syntax-dml-insert-table.html img_v3_02ed_8b6391bc-a440-440f-a4d3-494c9b5e28cg @liuxy0551

@tcodehuber 你好,能提供下你写的 SQL 吗,我这边验证的 SQL 没有语法飘红报错:

INSERT INTO TABLE my_table (col1, col2, col3)
SELECT colA, colB, colC 
FROM source_table
WHERE condition = 'value';

另外我看了下语法文件,官方的 和我们的都支持了 image image

liuxy0551 avatar Sep 05 '24 03:09 liuxy0551

insert overwrite db.user (id, name, ts) select id, name, ts from db.tuser; image

tcodehuber avatar Sep 05 '24 05:09 tcodehuber

insert overwrite db.user (id, name, ts) select id, name, ts from db.tuser; image

@tcodehuber 看下你依赖的版本是多少,我这边是 "monaco-sql-languages": "0.12.2", "dt-react-monaco-editor": "1.0.4" image

liuxy0551 avatar Sep 05 '24 06:09 liuxy0551

insert overwrite db.user (id, name, ts) select id, name, ts from db.tuser; image

@tcodehuber 看下你依赖的版本是多少,我这边是 "monaco-sql-languages": "0.12.2", "dt-react-monaco-editor": "1.0.4" image

估计是依赖的版本问题,目前还是vue2。我们再排查下,感谢🙏

tcodehuber avatar Sep 05 '24 08:09 tcodehuber

这一个基础sql的修改,为何里面有对 sparkSql 的变更?

LuckyFBB avatar Oct 21 '24 12:10 LuckyFBB

这一个基础sql的修改,为何里面有对 sparkSql 的变更?

基于 SparkSQL 改动,发现了一些问题,已经单独提 PR,这里应该是构建时不小心添加上来的

liuxy0551 avatar Oct 21 '24 15:10 liuxy0551

考虑基于 postgresql

liuxy0551 avatar Oct 22 '24 08:10 liuxy0551

还要等你这个pr么,不需要的话修改下label状态,在备注下原因

mumiao avatar May 08 '25 06:05 mumiao

和 @JackWang032 沟通,目前 StarRocks 和 Doris 使用 SparkSQL 语法会有报错,离线资产都是通过关闭语法飘红去使用的,需要考虑下当时实现方式是否合理,或者新增 sql 方言的支持。暂不跟随发版。

liuxy0551 avatar May 08 '25 07:05 liuxy0551

  1. 仅保留 SELECT、INSERT 等常见语法,其余的删除
  2. 已有的 sql 需要都通过单测

1、仅保留 SELECT、INSERT 等常见语法,其余的删除 2、关闭 validate 3、支持关键词高亮

liuxy0551 avatar Nov 18 '25 07:11 liuxy0551