首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于关键字回溯与Token排序的SQL代码提示方法 

申请/专利权人:天翼云科技有限公司

申请日:2023-12-13

公开(公告)日:2024-05-31

公开(公告)号:CN118113264A

主分类号:G06F8/30

分类号:G06F8/30;G06F3/04812;G06F40/274;G06F16/242;G06F40/166

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.06.18#实质审查的生效;2024.05.31#公开

摘要:本发明公开了一种基于关键字回溯与Token排序的SQL代码提示方法,包括。本发明通过解决了既有方案利用SQL解析器做代码提示在关键字提示场景下无法生成AST的不足,创造性地提出关键字回溯的方案,在不引入外部组件能力的情况下,以词法文件及语法文件为基础,利用链表实现的回溯函数对语法文件进行遍历获得所有可能的语法分支,提取其中的关键字信息进行代码提示,丰富了SQL解析器的适配场景。

主权项:1.一种基于关键字回溯与Token排序的SQL代码提示方法,其特征在于:包括北向接口、关键字回溯模块、解析生成AST模块、Token排序模块、元数据模块和南向接口,提示方法如下:a.光标位置为关键字的场景1用户输入“SELECTc1|table1”;2回溯函数获得光标前的内容“SELECTc1”,对所有可能的语法文件进行平行尝试,并与光标后的内容进行语法比对,剔除掉部分不匹配的内容,获取所有可以等同替换光标的内容,完整结果为{“FROM”,“,”,“AS”,“AND”,“OR”,“=”,“LIKE”,“IN”,“NOTIN”,“ISNULL”,“ISNOTNULL”};3根据2中获得的结果集生成提示信息,且提示信息为关键字类型;4从存储模块中获取缓存的关键字内容及其对应的权重信息,对3中生成的提示信息进行匹配,并按权重重新排序;5以LSP规定的格式生成输出信息,返回给用户侧;b.光标位置为字符串的场景1用户输入“SELECT*FROM|”;2通过调用回溯函数,发现光标处的替换内容为字符串类型;3调用解析器,生成AST,找到光标所在的节点位置,判断节点类型为表名;4调用南向接口从元数据库中获取所有的表名信息;5根据4中获得的结果集生成提示信息,且提示信息为表名类型;6从存储模块中获取缓存的表名及其对应的权重信息,对5中生成的提示信息进行匹配,并按权重重新排序;7以LSP规定的格式生成输出信息,返回给用户侧;c.输入SQL语句已经正确的场景1用户输入“SELECT*FROMtable1LIMIT20|”;2通过调用回溯函数,发现光标处的替换内容为字符串类型,替换内容为空也视为字符串类型;3调用解析器,生成AST,找到光标所在的节点位置,发现光标所在位置处于AST的末尾,且AST的所有节点已经匹配完成,此时无需给出提示信息;4提示信息为空,则意味着当前输入内容已经是正确的SQL语法;5获取AST,并将AST中每个节点按类型进行缓存,更新权重信息。

全文数据:

权利要求:

百度查询: 天翼云科技有限公司 一种基于关键字回溯与Token排序的SQL代码提示方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。