[发明专利]一种表达式执行方法和装置在审
| 申请号: | 201310538489.3 | 申请日: | 2013-11-05 |
| 公开(公告)号: | CN104252509A | 公开(公告)日: | 2014-12-31 |
| 发明(设计)人: | 叶东;贾西贝 | 申请(专利权)人: | 深圳市华傲数据技术有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/22 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 表达式 执行 方法 装置 | ||
技术领域
本申请涉及数据库管理技术领域,特别是涉及一种表达式执行方法和装置。
背景技术
在数据库的表达式执行过程中,一般的表达式求值对null值当成空指针,从而抛出异常,但是数据库中,null作为一个合法的运算,并遵守数据库中的一套运算规则,但是某些数据库产品中对数据库中数据进行变换的时候,就必须遵守数据库的一套规则,但是目前的技术中并不能实现按照数据库运算规则的表达式执行方式。
发明内容
本申请所要解决的技术问题是提供一种可以对数据库中null值进行运算的表达式执行方法和装置。
为了解决上述问题,本申请公开了一种表达式执行方法,包括:
获取表达式;
解析所述表达式获取运算逻辑;
根据所述运算逻辑调用添加了数据库规则的执行引擎。
进一步,所述获取表达式包括:
获取用户输入的表达式。
进一步,所述解析表达式获取运算逻辑包括:
采用自底向上的解析方法解析所述表达式获取运算逻辑。
进一步,所述根据运算逻辑调用添加了数据库规则的执行引擎包括:
根据运算逻辑调用添加了数据库规则的执行引擎,所述数据库规则至少包含数据库的null运算规则。
本申请还提供了一种表达式执行装置,包括:
获取模块,用于获取表达式;
解析模块,用于解析所述表达式获取运算逻辑;
调用模块,用于根据所述运算逻辑调用添加了数据库规则的执行引擎。
进一步,所述获取模块还用于:
获取用户输入的表达式。
进一步,所述解析模块还用于:
采用自底向上的解析装置解析所述表达式获取运算逻辑。
进一步,所述调用模块还用于:
根据运算逻辑调用添加了数据库规则的执行引擎,所述数据库规则至少包含数据库的null运算规则。
与现有技术相比,本申请包括以下优点:通过调用添加了数据库规则的执行引擎,实现了表达式关于数据库中null值的运算。
附图说明
图1是本发明一种表达式执行方法一实施例的流程图;
图2是本发明一种表达式执行装置一实施例的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种表达式执行方法一实施例的流程图;
数据库中,null作为一个合法的运算,并遵守数据库中的一套运算规则,但是某些数据库产品中对数据库中数据进行变换的时候,就必须遵守数据库的一套规则,从而需要这套对null进行特殊处理的一套表达式求值;本发明实施例创新的实现了适合数据库的一套求值规则,使得该数据库产品的数据处理更加自然,使得处理结构忠于数据库实际语意,产品得到极大完善。本发明实施例提供的一种表达式执行方法,包括:
步骤S101、获取表达式;
进一步,所述获取表达式包括:
获取用户输入的表达式。
所述表达式可以是用户输入的符合数据库规则的字符串命令。
步骤S102、解析所述表达式获取运算逻辑;
进一步,所述解析表达式获取运算逻辑包括:
采用自底向上的解析方法解析所述表达式获取运算逻辑。
步骤S102也可以通过手写分析器,总体上采用算符优先的解析表达式,局部采用LL(1)分析,最终形成一颗抽象语法树(AST),并进行语法校验。
步骤S103、根据所述运算逻辑调用添加了数据库规则的执行引擎。
进一步,所述根据运算逻辑调用添加了数据库规则的执行引擎包括:
根据运算逻辑调用添加了数据库规则的执行引擎,所述数据库规则至少包含数据库的null运算规则。
遍历AST,采用访问者设计模式,实现实体和操作分离;
首先进行类型检查,完成类型合法性,隐式转换等工作;
其次将AST变成执行指令序列,方便执行引擎读取指令,执行运算。
指令序列是有内部定义的符合数据库运算规则的抽象描述,它将运算规则描述成符合数据库需求的形式,使得执行引擎能够执行处正确的结果。
本发明实施例通过通过调用添加了数据库规则的执行引擎,实现了表达式关于数据库中null值的运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市华傲数据技术有限公司,未经深圳市华傲数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310538489.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可远程便捷操控的LED灯显示设备
- 下一篇:液压运桶车





