1 .一种统一SQL的方法,其特征在于 ,包括:
定义统一SQL的语法规范;
将所述统一SQL解析成语法树;
依据不同的SQL语法对所述语法树进行翻译,得到多种语法树;
对所述多种语法树进行反解析,得到不同数据库的SQL字符串;
将不同数据库的SQL字符串提交到环境执行,并返回数据结果。
2.如权利要求1所述的统一SQL的方法,其特征在于,对所述语法树进行翻译前,对所述
语法树进行合法性检查,对于非标准的语法和函数给出告警提示。
3 .如权利要求2所述的统一SQL的方法,其特征在于,所述合法性检查完成后,判断所述
语法树的Form对象是物理表或逻辑表,若为物理表则直接对所述语法树进行翻译;
若为逻辑表则判断所述逻辑表为视图模式或物理表模式,若为视图模式则根据优化规
则对所述语法树进行优化,然后对优化后的语法树进行翻译;
若所述逻辑表为物理表模式,则生成真实物理表的执行计划。
4 .如权利要求3所述的统一SQL的方法,其特征在于,构造基于所述逻辑表的查询SQL,
所述查询SQL根据查询条件查询所述逻辑表的场景,根据所述场景判断所述逻辑表为视图
模式或物理表模式。
5 .如权利要求4所述的统一SQL的方法,其特征在于,所述优化规则包括过滤下推规则
和字段剪枝规则。
6 .一种统一SQL的系统,其特征在于,包括:
定义模块,定义统一SQL的语法规范;
解析模块,将所述统一SQL解析成语法树;
翻译模块,依据不同的SQL语法对所述语法树进行翻译,得到多种语法树;
反解析模块,对所述多种语法树进行反解析,得到不同数据库的SQL字符串;
执行模块,将不同数据库的SQL字符串提交到环境执行,并返回数据结果。
7 .如权利要求6所述的统一SQL的系统,其特征在于,该系统还包括检查模块,对所述语
法树进行翻译前,所述检查模块对所述语法树进行合法性检查,对于非标准的语法和函数
给出告警提示。
8.如权利要求7所述的统一SQL的系统,其特征在于,该系统还包括:
第一判断模块,在所述合法性检查完成后,判断所述语法树的Form对象是物理表或逻
辑表;
第二判断模块,判断所述逻辑表为视图模式或物理表模式;
优化模块,所述逻辑表为视图模式时,根据优化规则对所述语法树进行优化;
创建组合模块,所述逻辑表为物理表模式时,生成真实物理表的执行计划。
9.如权利要求8所述的统一SQL的系统,其特征在于,所述第二判断模块包括:
查询单元,构造基于所述逻辑表的查询SQL,所述查询SQL根据查询条件查询所述逻辑
表的场景;
判断单元,根据所述场景判断所述逻辑表为视图模式或物理表模式。
10 .如权利要求9所述的统一SQL的系统,其特征在于,所述优化规则包括过滤下推规则
和字段剪枝规则。
权 利 要 求 书
1/2 页
2
相关文档
评论