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
    5.
    发明申请
    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查询和更新中用户定义类型的表达式。 优选地,数据库系统存储关于用户定义类型的元数据,以便随后用于创建该类型的实例。

    System and method for providing user defined aggregates in a database system
    6.
    发明申请
    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.

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

    SQL language extensions for modifying collection-valued and scalar valued columns in a single statement
    7.
    发明申请
    SQL language extensions for modifying collection-valued and scalar valued columns in a single statement 有权
    用于在单个语句中修改集合值和标量值的SQL语言扩展

    公开(公告)号:US20050091256A1

    公开(公告)日:2005-04-28

    申请号:US10693302

    申请日:2003-10-24

    摘要: A technique for updating collection-valued and other complex structured columns in a nested table using a nested extension of an UPDATE statement that uses syntax and semantics to modify collection-valued columns in a way that is analogous to the syntax and semantics of the UPDATE statement that is used to modify scalar-valued columns of the table (called the outer UPDATE). Using the same syntactic and semantic constructs as the table at the outer level allows an existing implementation that processes modifications to relational tables to reuse its implementation techniques for processing outer updates to modify collection-valued columns as well. The UPDATE extensions enable the specification of updates to nested collections embedded at arbitrary levels of depth in the object model. The new syntax is embedded inside the outer UPDATE statement in a way that parallels the structure of the data itself and thus maps more directly to the user's conceptual model of the data. The method for implementing the UPDATE extensions uses a change descriptor, which is a data structure that aggregates substantially all changes, both scalar and collection-valued into a single value that can be applied to the changed collection-valued column. This technique can also be used for modifications to other kinds of complex-structured columns such as objects or xml. The change descriptor includes hierarchical information for the cell, thereby enabling efficient application of multiple updates at various granularity levels in a single operation and enabling the implementation of efficient index maintenance algorithms by updating only the indexes affected by the UPDATE operation and updating only those index rows that were affected by the UPDATE operation.

    摘要翻译: 一种用于使用UPDATE语句的嵌套扩展来更新嵌套表中的集合值和其他复杂结构化列的技术,该语法使用语法和语义来以类似于UPDATE语句的语法和语义的方式修改集合值列 用于修改表的标量值列(称为外部UPDATE)。 使用与外层相同的句法和语义结构允许处理对关系表的修改的现有实现,以重用其实现技术来处理外部更新以修改集合值列。 UPDATE扩展使得能够对对象模型中嵌套在任意深度深度的嵌套集合进行更新。 新的语法以外部UPDATE语句的方式嵌入到数据本身的结构中,从而更直接地映射到用户的数据概念模型。 实现UPDATE扩展的方法使用一个更改描述符,该描述符是一个数据结构,它将基本上所有的变量(标量和收集值)聚合成一个可以应用到更改的收集值列的值。 此技术也可用于修改其他类型的复杂结构列(如对象或xml)。 更改描述符包括小区的分层信息,从而能够在单个操作中在各种粒度级别高效地应用多个更新,并且通过仅更新受UPDATE操作影响的索引并仅更新那些索引行,从而实现高效的索引维护算法 受UPDATE操作的影响。

    System and method for providing user defined types in a database system
    8.
    发明授权
    System and method for providing user defined types in a database system 有权
    在数据库系统中提供用户定义类型的系统和方法

    公开(公告)号:US07308460B2

    公开(公告)日:2007-12-11

    申请号:US11016240

    申请日:2004-12-17

    IPC分类号: 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查询和更新中用户定义类型的表达式。 优选地,数据库系统存储关于用户定义类型的元数据,以便随后用于创建该类型的实例。

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

    公开(公告)号:US07376656B2

    公开(公告)日:2008-05-20

    申请号:US10775982

    申请日:2004-02-10

    IPC分类号: G06F7/00 G07F17/00

    摘要: 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 certain specified methods that can be invoked on an instance of the class. 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.

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

    System and method for providing user defined types in a database system
    10.
    发明授权
    System and method for providing user defined types in a database system 有权
    在数据库系统中提供用户定义类型的系统和方法

    公开(公告)号:US07596576B2

    公开(公告)日:2009-09-29

    申请号:US11057475

    申请日:2005-02-14

    IPC分类号: G06F7/00 G06F17/00

    摘要: 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查询和更新中用户定义类型的表达式。 优选地,数据库系统存储关于用户定义类型的元数据,以便随后用于创建该类型的实例。