System and method for extending a compiler through a composer
    2.
    发明授权
    System and method for extending a compiler through a composer 有权
    通过作曲家扩展编译器的系统和方法

    公开(公告)号:US07441237B2

    公开(公告)日:2008-10-21

    申请号:US10396654

    申请日:2003-03-25

    IPC分类号: G06F9/44

    CPC分类号: G06F8/41

    摘要: A system and method for interfacing additional translation logic via composer(s) to a compiler to extend the capabilities of the compiler is provided. Generally, composer(s) can be software libraries that provide employment of componentization and polymorphism to compiler add-ons in order to extend compiler capabilities. One or more composers can be accessible to the compilation process by reference(s) made in a source code file. For example, additional translation logic for data types and/or expressions (e.g., markup language) created after compiler design can be made accessible to a compiler via composer(s), thus extending the existing compiler. The present invention mitigates problems associated with conventional compiler extending schemes and affords for compile code optimization without having to consider substantially all of the operations of a single query.

    摘要翻译: 提供了一种用于通过编辑器将附加翻译逻辑连接到编译器以扩展编译器的能力的系统和方法。 通常,作曲家可以是为编译器附加组件提供组件化和多态性的使用,以扩展编译器功能的软件库。 一个或多个作曲家可以通过源代码文件中的引用来访问编译过程。 例如,编译器设计后创建的数据类型和/或表达式(例如,标记语言)的附加翻译逻辑可以通过编辑器使编译器可访问,从而扩展现有的编译器。 本发明减轻了与常规编译器扩展方案相关的问题,并提供了编译代码优化,而不必基本上考虑单个查询的所有操作。

    Core object-oriented type system for semi-structured data
    3.
    发明授权
    Core object-oriented type system for semi-structured data 有权
    用于半结构化数据的核心面向对象类型系统

    公开(公告)号:US08112740B2

    公开(公告)日:2012-02-07

    申请号:US12139693

    申请日:2008-06-16

    IPC分类号: G06F9/44

    CPC分类号: G06F8/437

    摘要: A type system employing structural subtyping is disclosed herein. A core type system supports several structural types, such as stream, choice, intersection and sequence. Also part of the core type system is a new invariant type, which denotes values whose dynamic type is the same as its static type, and type restrictions for limiting a range of a base type. Furthermore, a streamlined structural version of delegates, called structural delegates and a validation method thereof are introduce into the type system. To further facilitate type safety, strict statically checked interface casts are introduced.

    摘要翻译: 本文公开了采用结构子类型的类型系统。 核心类型系统支持多种结构类型,如流,选择,交集和序列。 核心类型系统的一部分是新的不变类型,它表示动态类型与其静态类型相同的值,以及限制基本类型范围的类型限制。 此外,向类型系统介绍了一种简化的代表结构版本,称为结构代理及其验证方法。 为了进一步促进类型安全,引入了严格的静态检查界面。

    Core object-oriented type system for semi-structured data
    4.
    发明授权
    Core object-oriented type system for semi-structured data 有权
    用于半结构化数据的核心面向对象类型系统

    公开(公告)号:US08060859B2

    公开(公告)日:2011-11-15

    申请号:US12139712

    申请日:2008-06-16

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/437

    摘要: A type system employing structural subtyping is disclosed herein. A core type system supports several structural types, such as stream, choice, intersection and sequence. Also part of the core type system is a new invariant type, which denotes values whose dynamic type is the same as its static type, and type restrictions for limiting a range of a base type. Furthermore, a streamlined structural version of delegates, called structural delegates and a validation method thereof are introduce into the type system. To further facilitate type safety, strict statically checked interface casts are introduced.

    摘要翻译: 本文公开了采用结构子类型的类型系统。 核心类型系统支持多种结构类型,如流,选择,交集和序列。 核心类型系统的一部分是新的不变类型,它表示动态类型与其静态类型相同的值,以及限制基本类型范围的类型限制。 此外,向类型系统介绍了一种简化的代表结构版本,称为结构代理及其验证方法。 为了进一步促进类型安全,引入了严格的静态检查界面。

    CORE OBJECT-ORIENTED TYPE SYSTEM FOR SEMI-STRUCTURED DATA
    5.
    发明申请
    CORE OBJECT-ORIENTED TYPE SYSTEM FOR SEMI-STRUCTURED DATA 有权
    用于半结构数据的面向对象的面向对象的系统

    公开(公告)号:US20080313609A1

    公开(公告)日:2008-12-18

    申请号:US12139712

    申请日:2008-06-16

    IPC分类号: G06F9/44

    CPC分类号: G06F8/437

    摘要: A type system employing structural subtyping is disclosed herein. A core type system supports several structural types, such as stream, choice, intersection and sequence. Also part of the core type system is a new invariant type, which denotes values whose dynamic type is the same as its static type, and type restrictions for limiting a range of a base type. Furthermore, a streamlined structural version of delegates, called structural delegates and a validation method thereof are introduce into the type system. To further facilitate type safety, strict statically checked interface casts are introduced.

    摘要翻译: 本文公开了采用结构子类型的类型系统。 核心类型系统支持多种结构类型,如流,选择,交集和序列。 核心类型系统的一部分是新的不变类型,它表示动态类型与其静态类型相同的值,以及限制基本类型范围的类型限制。 此外,向类型系统介绍了一种简化的代表结构版本,称为结构代理及其验证方法。 为了进一步促进类型安全,引入了严格的静态检查界面。

    Core object-oriented type system for semi-structured data
    7.
    发明授权
    Core object-oriented type system for semi-structured data 有权
    用于半结构化数据的核心面向对象类型系统

    公开(公告)号:US07389498B2

    公开(公告)日:2008-06-17

    申请号:US10396066

    申请日:2003-03-25

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/437

    摘要: A type system employing structural subtyping is disclosed herein. A core type system supports several structural types, such as stream, choice, intersection and sequence. Also part of the core type system is a new invariant type, which denotes values whose dynamic type is the same as its static type, and type restrictions for limiting a range of a base type. Furthermore, a streamlined structural version of delegates, called structural delegates and a validation method thereof are introduce into the type system. To further facilitate type safety, strict statically checked interface casts are introduced.

    摘要翻译: 本文公开了采用结构子类型的类型系统。 核心类型系统支持多种结构类型,如流,选择,交集和序列。 核心类型系统的一部分是新的不变类型,它表示动态类型与其静态类型相同的值,以及限制基本类型范围的类型限制。 此外,向类型系统介绍了一种简化的代表结构版本,称为结构代理及其验证方法。 为了进一步促进类型安全,引入了严格的静态检查界面。

    Automated translation of service invocations for batch processing
    8.
    发明授权
    Automated translation of service invocations for batch processing 有权
    自动翻译服务调用批量处理

    公开(公告)号:US08364750B2

    公开(公告)日:2013-01-29

    申请号:US12144634

    申请日:2008-06-24

    IPC分类号: G06F15/16

    CPC分类号: G06F9/547

    摘要: The utilization of data services (such as web services) may involve the invocation of services, which may reduce performance and overburden the server. In some scenarios, the invocation may be specified in a language that does not support batch invocation, but it may not be feasible to re-code the invocations in a language that supports batching. Instead, the service invocations may be automatically translated into a batch logic specified in a batch-capable language and sent to the service as a batch. For example, a local proxy may receive a language-integrated query having two or more service invocations, compile the query into an expression tree including the two or more invocations, and send the expression tree to the service host to achieve the batch processing of the service invocations.

    摘要翻译: 数据服务(如Web服务)的使用可能涉及服务的调用,这可能会降低服务器的性能和负担。 在某些情况下,可以使用不支持批量调用的语言来指定调用,但以支持批处理的语言重新编码调用可能不可行。 相反,服务调用可以自动转换为以批处理语言指定的批处理逻辑,并作为批处理发送到服务。 例如,本地代理可以接收具有两个或多个服务调用的语言集成查询,将查询编译成包括两个或更多个调用的表达式树,并将表达式树发送到服务主机以实现批处理 服务调用。

    AUTOMATED CLIENT/SERVER OPERATION PARTITIONING
    9.
    发明申请
    AUTOMATED CLIENT/SERVER OPERATION PARTITIONING 有权
    自动客户端/服务器操作分区

    公开(公告)号:US20090327220A1

    公开(公告)日:2009-12-31

    申请号:US12145523

    申请日:2008-06-25

    IPC分类号: G06F7/06 G06F17/30

    摘要: An operation (such as a relational query) may be processed on a processing engine (such as a relational database server) on behalf of a client. A conventional processing involves the delivery of the operation to the processing engine, which executes the entire operation to completion and returns a result data set. It may be more efficient to allocate part of the operation to be performed on the client, but a developer may be unable or unavailable to rewrite the operation in a distributed manner. Instead, the operation may be automatically partitioned into a pre-engine client portion, a processing engine portion, and a client portion, and the instructions of each portion may be automatically allocated respectively to the client, the server, and the client. The partitioning may be adjusted to conserve computing resources, such as bandwidth and storage, and the instructions may be reordered to improve the processing of the operation.

    摘要翻译: 可以在处理引擎(例如关系数据库服务器)上代表客户端处理操作(例如关系查询)。 常规处理涉及将操作传递到处理引擎,该处理引擎执行整个操作以完成并返回结果数据集。 分配要在客户端上执行的部分操作可能更有效,但开发人员可能无法或不可以以分布式方式重写操作。 相反,可以将操作自动分割为预引擎客户端部分,处理引擎部分和客户端部分,并且可以将每个部分的指令分别自动分配给客户端,服务器和客户端。 可以调整分区以节省诸如带宽和存储的计算资源,并且可以重新排序指令以改进操作的处理。

    Query processing with specialized query operators
    10.
    发明授权
    Query processing with specialized query operators 有权
    使用专门的查询运算符进行查询处理

    公开(公告)号:US08713048B2

    公开(公告)日:2014-04-29

    申请号:US12144670

    申请日:2008-06-24

    IPC分类号: G06F7/00 G06F17/30

    CPC分类号: G06F17/30436

    摘要: Queries targeting various data sources are processed in a query processing pipeline that parses the query into a set of operations (e.g., an expression tree or a translated SQL query) using a set of query operators, each handling a particular type of operation. The query operators are often designed in an unspecialized manner, such that each query operator handles one query operation in an atomic, generic manner (e.g., sorting generic data items for an ORDER BY clause.) More efficient queries may be devised by including specialized queries that operate in common but special cases, such as a sorting of a particular data type (e.g., a floating-point number sort) or a sequence of two or more operations that are often performed together (e.g., a WHERE test of an attribute followed by a SELECT of the same attribute.) The use of specialized operators may result in the formulation of more efficient queries.

    摘要翻译: 定位各种数据源的查询在查询处理流水线中处理,该查询处理流水线使用一组查询运算符(每个处理特定类型的操作)将查询解析为一组操作(例如,表达式树或翻译的SQL查询)。 查询运算符通常以非特定方式进行设计,使得每个查询运算符以原子,通用方式处理一个查询操作(例如,排序ORDER BY子句的通用数据项)。可以通过包括专门的查询来设计更有效的查询 其在常见但特殊的情况下操作,诸如特定数据类型的排序(例如,浮点数排序)或经常一起执行的两个或更多个操作的序列(例如,跟随的属性的WHERE测试 通过具有相同属性的SELECT)。使用专门的运算符可能会导致更有效的查询的编制。