dt-sql-parser
                                
                                 dt-sql-parser copied to clipboard
                                
                                    dt-sql-parser copied to clipboard
                            
                            
                            
                        SQL Parsers for BigData, built with antlr4.
## 简介 添加通用 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
### Topic Support new SQL ### Description Has any documents for this? 
### Topic Enhance existing features ### Description SparkSQL、HiveSQL and MySQL, and others like `SELECT col1 FROM t1 WHERE col2 = 'any';`
### Version 4.0.1 ### Which SQL? Postgre ### SQL content ```sql ALTER TABLE my_table DROP a_column|; ``` ### JavaScript/TypeScript code _No response_ ### What happened? `my_table` can be collected but...
## 在错误语法的 SQL 后进行自动补全 ### 现状举例 1. 前方 SQL 语法错误导致光标所在位置无法准确的提示 INSERT 等关键字: ``` sql SELECT FROM tb1; I| ```  2. 错误语法后的 SELECT * FROM 被解析为多个 statement,无法进行准确的自动补全: ``` sql SELECT...
嵌套 columnName 在 expression 里面 但是有些地方使用了 expression 并不需要我们提示字段,因此我们需要判断当前 columnName 的路径是否在 groupBy 中  我们通过 core.collectCandidates 拿到的 candidates 就包含了当前的路径,在 ruleList 里面 - Impala - select expression - group by expression -...
## 变更 1. 发现了 spark 一些错误: - hiveReplaceColumns 错误换行 - spark suggestionWithEntity.test.ts 中写成了 PostgreSql - altertTable 拼写错误 2. 另外整理简洁了下语法规则。 ## 效果 
### Version lastest ### Which SQL? Flink ### SQL content _No response_ ### JavaScript/TypeScript code _No response_ ### What happened? #346 ### Relevant log output _No response_
### Version v4.1.0-beta.0 ### Which SQL? Hive ### SQL content ```sql set hive.xx.select.result.encode.enabled=true; ``` ### JavaScript/TypeScript code _No response_ ### What happened?  ### Relevant log output _No response_
### Version lasted ### Which SQL? Postgre ### SQL content ```sql CREATE TABLE distributors ( did integer, name varchar(40), CONSTRAINT con1 CHECK (did > 100 AND name '') ); ```...