[发明专利]用于OpenGauss数据库的解析动态SQL的方法及系统在审
申请号: | 202011468423.8 | 申请日: | 2020-12-14 |
公开(公告)号: | CN112487019A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 宗伟;黄晓涛 | 申请(专利权)人: | 广州海量数据库技术有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/25 |
代理公司: | 北京尚钺知识产权代理事务所(普通合伙) 11723 | 代理人: | 王海荣 |
地址: | 510510 广东省广州市天河区建*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 opengauss 数据库 解析 动态 sql 方法 系统 | ||
1.一种用于OpenGauss数据库的解析动态SQL的方法,其特征在于,包括:
声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;
将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;
调用OpenGauss数据库中的软件开发接口执行所述可执行语句。
2.根据权利要求1所述的用于OpenGauss数据库的解析动态SQL的方法,其特征在于,所述根据所述SQL语句构建prepare语句的步骤包括:
根据querybuf保存的语句,构建prepare语句;
调用OpenGauss数据库中的软件开发接口对所述prepare语句进行语法分析;
根据语法分析结果判断是否需要绑定变量;
若确定需要绑定变量,则将prepare语句的参数绑定变量,得到可执行语句,并基于所述可执行语句更新所述全局性数据结构的querybuf字段;
若确定不需要绑定变量,则将prepare语句作为可执行语句。
3.根据权利要求2所述的用于OpenGauss数据库的解析动态SQL的方法,其特征在于,在所述根据所述SQL语句构建可执行语句的步骤之后包括:
判断是否需要反馈可执行语句的执行结果;
在确定需要反馈执行结果时,定义用于接收可执行语句的执行结果的结果列;
在所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句的步骤之后包括:
将所述全局性数据结构中tup_list存储的可执行语句的执行结果取出,并将执行结果保存至所述结果列,之后关闭游标。
4.根据权利要求3所述的用于OpenGauss数据库的解析动态SQL的方法,其特征在于,在判断是否需要反馈可执行语句的执行结果的步骤之后包括:
在确定不需要反馈执行结果时,直接执行所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句,之后关闭游标。
5.根据权利要求1-4中任一项所述的用于OpenGauss数据库的解析动态SQL的方法,其特征在于,所述全局性数据结构包括:用于表示游标的编号的Id字段、用于表示结果集的总行数的All_rows字段、用于表示取出结果行数的Fetched_rows字段、用于表示结果列的位置索引的Colno字段、用于表示结果集缓存的Tup_list字段、用于表示结果集描述符的Tupdesc字段、用于表示下一个游标的指针的Next字段、以及用于表示执行SQL原文的Querybuf字段。
6.一种用于OpenGauss数据库的解析动态SQL的系统,其特征在于,包括:
数据结构声明单元,用于声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;
语句构建单元,用于将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;
语句执行单元,用于调用OpenGauss数据库中的软件开发接口执行所述可执行语句。
7.根据权利要求6所述的用于OpenGauss数据库的解析动态SQL的系统,其特征在于,所述语句构建单元包括:
构建子单元,用于根据querybuf保存的语句,构建prepare语句;
分析子单元,用于调用OpenGauss数据库中的软件开发接口对所述prepare语句进行语法分析;
判断子单元,用于根据语法分析结果判断是否需要绑定变量;若确定需要绑定变量,则将prepare语句的参数绑定变量,得到可执行语句,并基于所述可执行语句更新所述全局性数据结构的querybuf字段;若确定不需要绑定变量,则将prepare语句作为可执行语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州海量数据库技术有限公司,未经广州海量数据库技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011468423.8/1.html,转载请声明来源钻瓜专利网。