[发明专利]查询语句处理方法及装置在审
申请号: | 202110228035.0 | 申请日: | 2021-03-02 |
公开(公告)号: | CN112948419A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 潘浩文;何小栋 | 申请(专利权)人: | 广州海量数据库技术有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453;G06F16/2455 |
代理公司: | 北京尚钺知识产权代理事务所(普通合伙) 11723 | 代理人: | 王海荣 |
地址: | 510510 广东省广州市天河区建*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 语句 处理 方法 装置 | ||
1.一种查询语句处理方法,其特征在于,包括:
接收SQL查询语句,所述SQL查询语句包括预定义的关键字rownum,所述关键字rownum用于返回结果集行号;
在对所述SQL查询语句词法分析时,提取TOKEN rownum;
在对所述SQL查询语句语法分析时,识别所述TOKEN rownum为关键字rownum;
在对所述SQL查询语句语义分析时,把rownum关键字转换为rownum表达式;
在根据所述SQL查询语句生成执行计划时,上下文添加变量用于保存当前的rownum变量值;
在执行所述SQL查询语句时,根据所述rownum变量值以及rownum表达式,得到所述SQL查询语句的结果集行号。
2.根据权利要求1所述的查询语句处理方法,其特征在于,所述接收SQL查询语句的步骤之前包括:
在SQL语法系统中定义关键字rownum。
3.根据权利要求2所述的查询语句处理方法,其特征在于,所述根据所述rownum变量值以及rownum表达式,得到所述SQL查询语句的结果集行号的步骤包括:
对返回结果集进行字段投影时,根据所述rownum变量值对所述rownum表达式进行运算,并把运算结果填充到结果集中,得到所述SQL查询语句的结果集行号。
4.根据权利要求3所述的查询语句处理方法,其特征在于,所述根据所述rownum变量值以及rownum表达式,得到所述SQL查询语句的结果集行号的步骤包括:
在产生最终的结果集时,在产生一行记录行前,先对执行计划上下文里用于保存rownum值的变量进行步长为1的自增操作;
在对记录行进行投影时,执行rownum表达式,从执行计划上下文里取出rownum变量值,并填充到待返回的记录行里。
5.一种查询语句处理装置,其特征在于,包括:
语句接收模块,用于接收SQL查询语句,所述SQL查询语句包括预定义的关键字rownum,所述关键字rownum用于返回结果集行号;
词法分析模块,用于在对所述SQL查询语句词法分析时,提取TOKEN rownum;
语法分析模块,用于在对所述SQL查询语句语法分析时,识别所述TOKEN rownum为关键字rownum;
语义分析模块,用于在对所述SQL查询语句语义分析时,把rownum关键字转换为rownum表达式;
执行计划模块,用于执行在根据所述SQL查询语句生成执行计划时,上下文添加变量用于保存当前的rownum变量值;
语句执行模块,用于在执行所述SQL查询语句时,根据所述rownum变量值以及rownum表达式,得到所述SQL查询语句的结果集行号。
6.根据权利要求5所述的查询语句处理装置,其特征在于,还包括:预定义模块,用于在SQL语法系统中定义关键字rownum。
7.根据权利要求6所述的查询语句处理装置,其特征在于,所述语句执行模块具体用于:对返回结果集进行字段投影时,根据所述rownum变量值对所述rownum表达式进行运算,并把运算结果填充到结果集中,得到所述SQL查询语句的结果集行号。
8.根据权利要求7所述的查询语句处理装置,其特征在于,所述语句执行模块具体用于:在产生最终的结果集时,在产生一行记录行前,先对执行计划上下文里用于保存rownum值的变量进行步长为1的自增操作;在对记录行进行投影时,执行rownum表达式,从执行计划上下文里取出rownum变量值,并填充到待返回的记录行里。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述权利要求1-4中任一项所述的查询语句处理方法。
10.一种计算机设备,其特征在于,其包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述权利要求1-4中任一项所述的查询语句处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州海量数据库技术有限公司,未经广州海量数据库技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110228035.0/1.html,转载请声明来源钻瓜专利网。