SQL language extensions for modifying collection-valued and scalar valued columns in a single statement
    3.
    发明申请
    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

    公开(公告)号: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
    6.
    发明申请
    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 hosting the common language runtime in a database management system
    8.
    发明申请
    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
    9.
    发明申请
    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.

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

    Embedded multi-language programming
    10.
    发明申请
    Embedded multi-language programming 审中-公开
    嵌入式多语言编程

    公开(公告)号:US20070044066A1

    公开(公告)日:2007-02-22

    申请号:US11208228

    申请日:2005-08-19

    IPC分类号: G06F9/44

    CPC分类号: G06F8/33

    摘要: Multiple programming languages can be embedded and supported within a single source. Programs nested with syntax from a plurality of languages (e.g., C#, SQL, XML . . . ), among other things, enable users to avail themselves of advantageous aspects of different languages for particular tasks. Language services that provide language specific functionality including but not limited to formatting, intelligent assist, auto completion, and coloring, can be employed and switched between to afford support for their respective languages in a mixed language source program. Similarly, mixed language programs can be compiled with language specific services or systems such as parsers, scanners and the like to process corresponding code portions.

    摘要翻译: 多种编程语言可以在单一来源内嵌入和支持。 嵌套有来自多种语言(例如,C#,SQL,XML ...)的语法的程序等等使得用户能够利用不同语言的有利方面来执行特定任务。 可以使用提供语言特定功能的语言服务,包括但不限于格式化,智能辅助,自动完成和着色,并在混合语言源程序中为其各自语言提供支持。 类似地,混合语言程序可以用语言特定的服务或诸如解析器,扫描仪等的系统来编译以处理相应的代码部分。