update readme
This commit is contained in:
parent
d7aa6a3e60
commit
e4ee8218e4
38
README.md
38
README.md
@ -5,6 +5,7 @@
|
|||||||
1. 解析sql生成语法树(不支持CREATE等语句,具体可以查看`core/astParser`文件),支持单条sql语句
|
1. 解析sql生成语法树(不支持CREATE等语句,具体可以查看`core/astParser`文件),支持单条sql语句
|
||||||
2. 去除sql中的的注释(目前支持`--`,`/**/`类型注释)
|
2. 去除sql中的的注释(目前支持`--`,`/**/`类型注释)
|
||||||
3. sql分割,根据`;`将sql分割为数组
|
3. sql分割,根据`;`将sql分割为数组
|
||||||
|
4. 校验sql,hive sql等语法,并给予错误信息与建议提示
|
||||||
|
|
||||||
|
|
||||||
## 用法
|
## 用法
|
||||||
@ -35,4 +36,39 @@ aaaaaa*/ from user where isDeleted=0
|
|||||||
console.log(dtFilter.parse(sql))//注意,目前只支持单条sql语句,所以需要自己调用sql分割一条一条处理!
|
console.log(dtFilter.parse(sql))//注意,目前只支持单条sql语句,所以需要自己调用sql分割一条一条处理!
|
||||||
```
|
```
|
||||||
|
|
||||||
语法解析模块代码来自[nquery](http://github.com/alibaba/nquery/)
|
### 校验hive sql语法
|
||||||
|
``` javascript
|
||||||
|
const dtSqlParser=require("dt-sql-parser").parser;
|
||||||
|
|
||||||
|
console.log(dtSqlParser.parseSyntax("selet * form",'','hive'));
|
||||||
|
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"text": "selet",//错误部分
|
||||||
|
"token": "REGULAR_IDENTIFIER",//类型
|
||||||
|
"line": 0,
|
||||||
|
"loc": {//错误位置信息
|
||||||
|
"first_line": 1,
|
||||||
|
"last_line": 1,
|
||||||
|
"first_column": 0,
|
||||||
|
"last_column": 5
|
||||||
|
},
|
||||||
|
"ruleId": "0",
|
||||||
|
"expected": [//建议输入内容
|
||||||
|
{
|
||||||
|
"text": "select",//建议内容
|
||||||
|
"distance": 1//建议优先级
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "delete",
|
||||||
|
"distance": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"recoverable": false,
|
||||||
|
"incompleteStatement": true
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
sql语法解析模块代码来自[nquery](https://github.com/alibaba/nquery/)
|
||||||
|
hive语法解析模块代码来自[Hue](https://github.com/cloudera/hue)
|
@ -6,8 +6,8 @@ for(let [key,value] of testMap){
|
|||||||
console.log(`******${key}********`)
|
console.log(`******${key}********`)
|
||||||
console.log(value)
|
console.log(value)
|
||||||
console.log(`******result********`)
|
console.log(`******result********`)
|
||||||
// console.log(dtSqlParser.parser.parse(value));
|
console.log(dtSqlParser.parser.parseSyntax(value));
|
||||||
console.log(dtSqlParser.filter.splitSql(value))
|
// console.log(dtSqlParser.filter.splitSql(value))
|
||||||
console.log(`********************`)
|
console.log(`********************`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user