System and method for providing user defined types in a database system

    公开(公告)号:US20050177583A1

    公开(公告)日:2005-08-11

    申请号:US11016240

    申请日:2004-12-17

    IPC分类号: G06F7/00 G06F17/00 G06F17/30

    摘要: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used. This includes defining columns of tables, declaring variables and parameters to functions and stored procedures, and evaluating expressions of the user-defined type in SQL queries and updates. Preferably, the database system stores metadata about the user-defined type for subsequent use in creating instances of the type.

    System and method for providing user defined types in a database system

    公开(公告)号:US20050177585A1

    公开(公告)日:2005-08-11

    申请号:US11057475

    申请日:2005-02-14

    IPC分类号: G06F7/00 G06F17/00 G06F17/30

    摘要: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used. This includes defining columns of tables, declaring variables and parameters to functions and stored procedures, and evaluating expressions of the user-defined type in SQL queries and updates. Preferably, the database system stores metadata about the user-defined type for subsequent use in creating instances of the type.

    SYSTEM AND METHOD FOR PROVIDING USER DEFINED TYPES IN A DATABASE SYSTEM
    7.
    发明申请
    SYSTEM AND METHOD FOR PROVIDING USER DEFINED TYPES IN A DATABASE SYSTEM 失效
    用于在数据库系统中提供用户定义类型的系统和方法

    公开(公告)号:US20050177589A1

    公开(公告)日:2005-08-11

    申请号:US10775282

    申请日:2004-02-10

    IPC分类号: G06F7/00 G06F17/00 G06F17/30

    摘要: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used. This includes defining columns of tables, declaring variables and parameters to functions and stored procedures, and evaluating expressions of the user-defined type in SQL queries and updates. Preferably, the database system stores metadata about the user-defined type for subsequent use in creating instances of the type.

    摘要翻译: 数据库系统和方法允许用户以实现定义用户定义类型的结构的类的高级编程语言编写程序代码,并且可以在该类型的实例上调用方法。 该类然后向数据库系统注册,该系统针对类强制执行用户定义类型的特定合同。 合同包括以下要求。 首先,类必须为数据库存储中的用户定义类型的持久化实例指定多种不同格式之一。 第二,类必须能够返回用户定义类型的空值。 第三,类必须提供一种将用户定义类型转换为另一种类型的方法。 一旦满足这些要求,数据库系统就可以创建用户定义类型的实例。 可以在可以使用任何其他内置类型的所有上下文中使用用户定义的类型。 这包括定义表的列,将变量和参数声明为函数和存储过程,以及评估SQL查询和更新中用户定义类型的表达式。 优选地,数据库系统存储关于用户定义类型的元数据,以便随后用于创建该类型的实例。

    Systems and methods for transforming SQL syntax trees into relational algebra representations
    8.
    发明申请
    Systems and methods for transforming SQL syntax trees into relational algebra representations 审中-公开
    将SQL语法树转换为关系代数表示的系统和方法

    公开(公告)号:US20050177556A1

    公开(公告)日:2005-08-11

    申请号:US10776895

    申请日:2004-02-10

    IPC分类号: G06F7/00 G06F17/30

    CPC分类号: G06F16/24526

    摘要: The SQL Algebrizer of the present invention comprises a plurality of algorithms to “algebrize” SQL Trees to QP Algebra using an approach that is more consistent and much more efficient than typical algebrizers. More specifically, the Algebrizer of the present invention processes a SQL Tree using a reduced number of recursive depth-first passes by performing multiple operations in a single pass. Furthermore, the Algebrizer of the present invention also performs the operation of constant folding in this single, multi-operation pass so that the QP, upon receiving the QP Algebra, needs not perform this operation at all.

    摘要翻译: 本发明的SQL代理器包括使用比典型的代数器更一致和更有效的方法来将“SQL树”组合到QP代数的多种算法。 更具体地说,本发明的代理者通过在单程中执行多个操作,使用减少数量的递归深度优先遍历来处理SQL树。 此外,本发明的代理还在该单次多操作遍中进行恒定折叠的操作,使得在接收到QP代数时,QP根本不需要执行该操作。

    Systems and methods for hosting the common language runtime in a database management system
    9.
    发明申请
    Systems and methods for hosting the common language runtime in a database management system 审中-公开
    在数据库管理系统中托管公共语言运行库的系统和方法

    公开(公告)号:US20050187980A1

    公开(公告)日:2005-08-25

    申请号:US10776371

    申请日:2004-02-10

    IPC分类号: G06F7/00 G06F17/30

    CPC分类号: G06F16/252

    摘要: The present invention the is directed to systems and methods for hosting the CLR in a DBMS in order to achieve reliability, scalability, security, and robustness for enabled DBMS programming features. Integrating the CLR with a DBMS enables programming features in the database such as stored procedures, functions, triggers, types, and aggregates to be written in any of the programming languages that are compiled into IL code supported by the CLR. For the various embodiments of the present invention, the CLR is hosted inside the DBMS and, instead of making requests directly to the server operating system, the CLR instead interfaces with the DBMS via DBMS APIs for such requests, and only the DBMS directly interfaces with the server operating system to access the server.

    摘要翻译: 本发明涉及用于在DBMS中托管CLR以便实现启用的DBMS编程特征的可靠性,可扩展性,安全性和鲁棒性的系统和方法。 将CLR与DBMS集成,可以使数据库中的编程功能(例如存储过程,函数,触发器,类型和聚合)以任何编译为CLR支持的IL代码的编程语言编写。 对于本发明的各种实施例,CLR托管在DBMS内部,而不是直接向服务器操作系统提出请求,而是通过用于这种请求的DBMS API而与DBMS接口,而不是DBMS直接与 服务器操作系统访问服务器。

    System and method for providing user defined aggregates in a database system
    10.
    发明申请
    System and method for providing user defined aggregates in a database system 有权
    在数据库系统中提供用户定义的聚合的系统和方法

    公开(公告)号:US20050177579A1

    公开(公告)日:2005-08-11

    申请号:US10775982

    申请日:2004-02-10

    IPC分类号: G06F7/00 G06F17/30

    摘要: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined aggregate and methods that can be invoked on instances of the user-defined aggregate. The class is then registered with the database system, which enforces a specific contract for user-defined aggregates against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined aggregate in a database store. Second, the class must comprise a first method that can be invoked to initialize the computation of an instance of the user-defined aggregate, a second method that can be invoked to accumulate a plurality of values to be aggregated with the user-defined aggregate, a third method that can be invoked to merge an instance of the user-defined aggregate with another partial aggregation, and a fourth method that can be invoked to compute a final result of an instance of the user-defined aggregate. Once these requirements are satisfied, the database system enables instances of the user-defined aggregate to be created. Preferably, the database system stores metadata about the user-defined aggregate for subsequent use in creating instances of the aggregate.

    摘要翻译: 数据库系统和方法允许用户以高级编程语言编写程序代码,该语言实现定义用户定义聚合的结构的类,以及可以在用户定义聚合的实例上调用的方法。 该类然后向数据库系统注册,该数据库系统针对类强制执行用户定义的聚合的特定合同。 合同包括以下要求。 首先,类必须为数据库存储中用户定义聚合的持久化实例指定多种不同格式之一。 第二,类必须包括可被调用以初始化用户定义聚合的实例的计算的第一方法,可以被调用以累积要与用户定义的聚合聚合的多个值的第二方法, 可以调用以将用户定义聚合的实例与另一部分聚合合并的第三种方法,以及可以调用以计算用户定义聚合的实例的最终结果的第四种方法。 一旦满足这些要求,数据库系统就可以创建用户定义聚合的实例。 优选地,数据库系统存储关于用户定义聚合的元数据,用于随后用于创建聚合的实例。