[发明专利]调用表值函数的查询的有效评估系统和方法有效
申请号: | 200480001694.5 | 申请日: | 2004-07-29 |
公开(公告)号: | CN101223522A | 公开(公告)日: | 2008-07-16 |
发明(设计)人: | C·J·坎宁安;B·塞兹金;R·凡卡特施 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 沈昭坤 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调用 函数 查询 有效 评估 系统 方法 | ||
1.一种处理调用表值函数来提供结果的查询的方法,所述方法包括:
生成描述所述表值函数的能力的信息类;
用至少一个绑定问题的组来查询所述信息类;
用至少一个优化问题的组来查询所述信息类;
依照响应于所述绑定问题组和所述优化问题组所提供的信息来执行所述查询。
2.如权利要求1所述的方法,其特征在于,执行所述查询包括:
生成对应于所述表值函数的执行类;
向所述执行类请求一组数据表行作为输出;以及
从所述执行类接收所请求的行。
3.如权利要求1所述的方法,其特征在于,包括用绑定问题组查询所述信息类,所述绑定问题组包括以下之一:由所述表值函数返回的多个列、由所述表值函数返回的列名、以及由所述表值函数返回的列的类型。
4.如权利要求1所述的方法,其特征在于,包括用优化问题组查询所述信息类,所述优化问题组包括以下之一:行是否在一组列上以已排序次序分组、列是否是唯一关键字列、表值函数是否是确定性的、以及表值函数是否访问外部数据源。
5.如权利要求1所述的方法,其特征在于,包括用优化问题组查询所述信息类,所述优化问题组包括对关于所述表值函数的结果的统计信息的请求。
6.如权利要求5所述的方法,其特征在于,包括用优化问题组查询所述信息类,所述优化问题组包括对统计信息的请求,所述统计信息包括以下之一:将对所述表值函数的每一调用将返回的多个行、对参数值范围将返回的多个行、对一组列将返回的多个重复值、以及描述从所述表值函数将返回的值的分布的直方图。
7.如权利要求1所述的方法,其特征在于,还包括从受管执行环境中生成的用户定义类中生成所述信息类。
8.如权利要求1所述的方法,其特征在于,还包括依照响应于所述绑定问题组提供的信息绑定所述查询。
9.如权利要求1所述的方法,其特征在于,还包括依照响应于所述优化问题组提供的信息优化所述查询。
10.如权利要求1所述的方法,其特征在于,执行所述查询包括:
验证所述表值函数的能力的有效性;以及
如果所述表值函数的能力无效,则生成一指示所述表值函数将不提供期望的输出的出错消息。
11.如权利要求10所述的方法,其特征在于,还包括如果所述表值函数的能力无效,则中止所述查询的执行。
12.如权利要求1所述的方法,其特征在于,还包括调用所述表值函数以提供支持分层查询操作的计算。
13.如权利要求1所述的方法,其特征在于,还包括调用所述表值函数以提供用于对数据库系统中的文件系统建模的目录路径的转换。
14.如权利要求1所述的方法,其特征在于,还包括调用所述表值函数以提供来自远程数据源的结果。
15.一种用于表值函数的可扩展生成的方法,所述方法包括:
提供使用户能够定义描述所述表值函数的能力的类的接口;
将所述用户定义的类编译成二进制数据文件;以及
向数据库服务器提交所述二进制数据文件,所述数据库服务器依照所述二进制数据文件生成表值函数。
16.如权利要求15所述的方法,其特征在于,包括在受管执行环境中提供所述接口。
17.如权利要求15所述的方法,其特征在于,还包括执行调用所述表值函数来提供结果的查询。
18.如权利要求15所述的方法,其特征在于,还包括提供使用户能够定义描述所述表值函数的查询绑定和查询优化能力的类的接口。
19.一种用于有效地处理调用表值函数来提供结果的查询的方法,所述方法包括:
标识用于执行所述查询的关系操作;以及
将所述关系操作的执行推入到所述表值函数的执行中;以及
通过调用包括所推入的关系操作的表值函数来执行所述查询。
20.如权利要求19所述的方法,其特征在于,将所述关系操作的执行推入到所述表值函数的执行中包括将所述关系操作编码为所述表值函数的隐含自变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200480001694.5/1.html,转载请声明来源钻瓜专利网。