improve doc

This commit is contained in:
HSunboy 2018-10-08 17:58:36 +08:00
parent 38a802d88b
commit a8dd96b39e
2 changed files with 28 additions and 7 deletions

View File

@ -3,9 +3,9 @@
本项目用于处理sql目前含有功能 本项目用于处理sql目前含有功能
1. 解析sql生成语法树(不支持CREATE等语句具体可以查看`core/astParser`文件)支持单条sql语句 1. 解析sql生成语法树(不支持CREATE等语句具体可以查看`core/astParser`文件)支持单条sql语句
2. 去除sql中的的注释(目前支持`--`,`/**/`类型注释) 2. 校验sqlhive sqlimpala sql等语法并给予错误信息与建议提示
3. sql分割,根据`;`将sql分割为数组 3. sql分割,根据`;`将sql分割为数组
4. 校验sqlhive sql等语法并给予错误信息与建议提示 4. 去除sql中的的注释(目前支持`--`,`/**/`类型注释)
## 用法 ## 用法
@ -70,6 +70,27 @@ console.log(dtSqlParser.parseSyntax("selet * form",'hive'));
*/ */
``` ```
sql语法解析模块代码来自[nquery](https://github.com/alibaba/nquery/) ## API
hive语法解析模块代码来自[Hue](https://github.com/cloudera/hue) ### filter
#### function filterComments(sql:string):string
过滤sql注释(支持/*和--)
#### function splitSql(sql:string):Array<string>
自动去除注释并且提取出各个sql
### parser
#### function parseSyntax(sql:string|Array<string>, type?:string):Object|boolean
校验sql语法如果没错误则返回false否则返回错误详细信息
可以提供一个含有两个字符串的数组代表被光标分割的两个sql片段
#### function parserSql(sql:string|Array<string>, type?:string):Object
解析sql语法根据上下文提示补全字段与其它辅助信息
可以提供一个含有两个字符串的数组代表被光标分割的两个sql片段
ast生成代码来自[nquery](https://github.com/alibaba/nquery/)
hiveimpala等语法解析文件来自[Hue](https://github.com/cloudera/hue)

View File

@ -19,10 +19,10 @@ function cleanSql(sql) {
/** /**
* 分割sql * 分割sql
* @param {String} sqlText * @param {String} sql
*/ */
function splitSql(sqlText) { function splitSql(sql) {
return commentFilter.parse(sqlText).lines return commentFilter.parse(sql).lines
} }
exports.filterComments = filterComments; exports.filterComments = filterComments;