Index-based method for supporting multimethod function overloading with
compile-time type checking and run-time dispatch
    1.
    发明授权
    Index-based method for supporting multimethod function overloading with compile-time type checking and run-time dispatch 失效
    基于索引的方法,支持使用编译时类型检查和运行时调度的多方法函数重载

    公开(公告)号:US5696973A

    公开(公告)日:1997-12-09

    申请号:US390886

    申请日:1995-02-17

    IPC分类号: G06F9/42 G06F9/45

    CPC分类号: G06F8/437 G06F9/4431

    摘要: Programming language systems commonly allow for the use of function calls within a body of program source code. Since function names are generally descriptive, it is sometimes the case that two different functions ("function instances") will have the same name, and be distinguishable by having either a different number of arguments ("arity"), or arguments of different types. Both at compile time and at run time, the possibility of error exists if there is a mismatch between the arguments required by a function and the arguments provided to the function by the function call. Methods and related apparatus, for use in programming language systems, are set forth which support compile-time type checking and run-time dispatch for overloaded functions in an environment supporting subtypes with multiple inheritance. At both compile time and run time, the method of the invention takes into consideration the types of all arguments of a function call, to select a proper function instance to execute, for a given function invocation. In accordance with the invention, a precedence ordering is made from among multiple function instances having the same name and arity. Furthermore, the methods contemplated by the invention identify at compile time the set of function instances which might be invoked due to subtype substitutions for the actual arguments. Since type errors on function invocations or variable assignments are usually indicative of a programming error, program reliability can be improved and faults that would otherwise result in run-time errors can be corrected through the use of the invention prior to program deployment.

    摘要翻译: 编程语言系统通常允许在程序源代码体内使用函数调用。 由于函数名通常是描述性的,有时两种不同的函数(“函数实例”)将具有相同的名称,并且可以通过使用不同数量的参数(“arity”)或不同类型的参数来区分 。 在编译时和运行时,如果函数所需的参数与通过函数调用提供给函数的参数之间存在不匹配,则存在错误的可能性。 阐述了在编程语言系统中使用的方法和相关设备,其支持在支持具有多重继承的子类型的环境中的重载函数的编译时类型检查和运行时调度。 在编译时和运行时,本发明的方法考虑到函数调用的所有参数的类型,以便为给定的函数调用选择要执行的正确的函数实例。 根据本发明,从具有相同名称和特征的多个功能实例中进行优先级排序。 此外,本发明考虑的方法在编译时识别由于实际参数的子类型替换而可能调用的一组函数实例。 由于功能调用或变量分配上的类型错误通常表示编程错误,因此程序可靠性可以提高,否则会导致运行时错误的故障可以在程序部署之前通过使用本发明来纠正。

    Database management system, method and program for supporting the
mutation of a composite object without read/write and write/write
conflicts
    2.
    发明授权
    Database management system, method and program for supporting the mutation of a composite object without read/write and write/write conflicts 失效
    数据库管理系统,支持复制对象突变的方法和程序,无需读/写和写/写冲突

    公开(公告)号:US5857182A

    公开(公告)日:1999-01-05

    申请号:US786605

    申请日:1997-01-21

    IPC分类号: G06F17/30

    摘要: The system, method, and program of this invention avoids potential write/write conflicts and read/write conflicts when a subcomponent of a composite object (e.g., an ADT) is mutated. The embodiments of this invention define a copy semantic for the mutation function. In one embodiment, a copy function is inserted prior to any mutation function. In a another embodiment, a global compile-time analysis is performed to determine if a write/write or read/write conflict exists; and to eliminate redundant copy constructors if a conflict does exist. In a preferred embodiment, only a local analysis is performed during the parsing phase, thereby avoiding a global compile-time analysis. A mutation safe flag is associated with each parse tree node. A read target leaf parse tree node is set to false while non-leaf parse tree nodes (functions) derive their value from an incoming node, except that constructors and copy constructor functions are always true. Whether or not a copy is made of the composite object (i.e., whether or not a copy constructor is inserted) prior to a mutation is determined according to the setting of the mutation safe flags and according to the following. If a mutation safe flag for a mutation function is false, a copy constructor is inserted for the mutated composite object and the mutation safe flag is set to true. In addition, for update and trigger statements, the mutation safe flag for a mutated target is defaulted to true. Furthermore, related update entries are grouped together and a copy is generated for the common target. The generated copy is used as the common target for all of the mutations caused by the update entries grouped together in order to accumulate all of the desired mutations in a same copy of the composite object.

    摘要翻译: 本发明的系统,方法和程序在复合对象(例如,ADT)的子组件被突变时避免潜在的写入/写入冲突和读/写冲突。 本发明的实施例定义了突变功能的复制语义。 在一个实施例中,在任何突变功能之前插入复制功能。 在另一实施例中,执行全局编译时分析以确定是否存在写/写或读/写冲突; 并且如果存在冲突,则消除冗余的拷贝构造函数。 在优选实施例中,在解析阶段仅执行局部分析,从而避免了全局编译时分析。 突变安全标志与每个解析树节点相关联。 读取目标叶解析树节点设置为false,而非叶解析树节点(函数)从传入节点导出其值,除了构造函数和复制构造函数始终为真。 根据突变安全标志的设置,根据以下来确定复制对象(即,是否插入复制构造函数)之前的副本是否被复制。 如果突变功能的突变安全标志为假,则为突变复合对象插入复制构造函数,并将突变安全标志设置为true。 另外,对于更新和触发语句,突变目标的突变安全标志默认为true。 此外,将相关的更新条目分组在一起,并为共同目标生成副本。 生成的拷贝被用作由更新条目组合在一起引起的所有突变的共同目标,以便累积复合对象的相同副本中的所有期望的突变。

    Methods to support multimethod function overloading with compile-time
type checking
    4.
    发明授权
    Methods to support multimethod function overloading with compile-time type checking 失效
    使用编译时类型检查支持多方法函数重载的方法

    公开(公告)号:US5696974A

    公开(公告)日:1997-12-09

    申请号:US554500

    申请日:1995-11-07

    IPC分类号: G06F9/42 G06F9/45

    CPC分类号: G06F8/437 G06F9/4431

    摘要: Methods and related apparatus, for use in programming language systems, are set forth which support compile-time type checking for overloaded functions in an environment supporting subtypes with multiple inheritance. At both compile and runtime, the invention considers the type of all actual arguments of a function to select a proper function instance to execute. Furthermore, the methods contemplated by the invention identify at compile time the set of function instances which might be invoked due to subtype substitutions for the actual arguments. Since type errors on function invocations or variable assignments are usually indicative of a programming error, program reliability can be improved and faults that would otherwise result in runtime errors can be corrected through the use of the invention prior to program deployment.

    摘要翻译: 阐述了在编程语言系统中使用的方法和相关设备,其支持在支持具有多重继承的子类型的环境中的重载功能的编译时类型检查。 在编译和运行时,本发明考虑了函数的所有实际参数的类型,以选择要执行的正确的函数实例。 此外,本发明考虑的方法在编译时识别由于实际参数的子类型替换而可能调用的一组函数实例。 由于函数调用或变量赋值的类型错误通常表示编程错误,因此程序可靠性可以提高,否则会导致运行时错误的故障可以在程序部署之前通过使用本发明进行修正。

    Signature hash for checking versions of abstract data types
    5.
    发明授权
    Signature hash for checking versions of abstract data types 失效
    用于检查抽象数据类型的版本的签名散列

    公开(公告)号:US06973572B1

    公开(公告)日:2005-12-06

    申请号:US09514607

    申请日:2000-02-28

    IPC分类号: G06F17/30 G06F21/00 H04I9/28

    摘要: A method, apparatus, and article of manufacture for providing to a signature hash for checking versions of abstract data types. An identifier is constructed for the abstract data type that is substantially unique to the abstract data type, wherein the identifier comprises a concatenation of various attributes for the abstract data type. The constructed identifier is hashed to generate a signature hash value for the abstract data type, which is then stored both in the database and a class definition for the abstract data type. When the class definition is instantiated as a library function, it accesses the abstract data type from the database, and compares the signature hash value from the database and the signature hash value from the class definition in order to verify that the class definition is not outdated. The class definition is outdated when the abstract data type has been altered without the signature hash value being re-generated and re-stored in the database and the class definition.

    摘要翻译: 一种用于提供用于检查抽象数据类型的版本的签名散列的方法,装置和制品。 为抽象数据类型基本上唯一的抽象数据类型构造标识符,其中标识符包括抽象数据类型的各种属性的级联。 构造的标识符被散列以产生抽象数据类型的签名散列值,然后将其存储在数据库中并且抽象数据类型的类定义中。 当类定义被实例化为库函数时,它从数据库中访问抽象数据类型,并比较数据库中的签名散列值和类定义中的签名哈希值,以验证类定义是否过时 。 当抽象数据类型被更改,而不会将签名哈希值重新生成并重新存储在数据库和类定义中时,类定义已过时。

    System and method for hash loops join of data using outer join and early-out join
    6.
    发明授权
    System and method for hash loops join of data using outer join and early-out join 失效
    散列循环的系统和方法使用外连接和提前连接来连接数据

    公开(公告)号:US06253197B1

    公开(公告)日:2001-06-26

    申请号:US09167395

    申请日:1998-10-06

    IPC分类号: G06F1730

    摘要: A system and method for joining a build table to a probe table in response to a query for data includes executing a hash loops join of the build table and the probe table. Matched rows are joined and output when the rows match each other by satisfying a join predicate. In an outer join, unmatched rows in the probe table are joined to a NULL build table field values and output, such that all rows of the probe table are output regardless of whether they have matched rows in the build table. In an early-out join, on the other hand, a “match once” table defines the probe table and in response to a query for unique probe table outputs, the joining of a probe table row, once joined and output a first time, to any other rows in the other table is prevented regardless of whether the row might match other rows. In both the hash loops early-out join and the hash loops outer join, when the build table is larger than main memory, the roles of the build and probe tables are reversed.

    摘要翻译: 响应于对数据的查询将构建表连接到探测表的系统和方法包括执行构建表和探测表的散列循环连接。 匹配的行被连接并通过满足连接谓词来匹配行时输出。 在外连接中,探测表中的不匹配的行将连接到NULL构建表字段值和输出,以便无论在构建表中是否具有匹配行,都会输出探测表的所有行。 另一方面,在早期连接中,“匹配一次”表定义探针表,并且响应于对唯一探针表输出的查询,加入探针表行,一旦连接并输出第一次, 不管该行是否与其他行匹配,都会阻止其他表中的任何其他行。 在哈希循环早期连接和散列循环外连接中,当构建表大于主内存时,构建和探测表的角色相反。

    Method, system and program for executing a query having a union operator
    7.
    发明授权
    Method, system and program for executing a query having a union operator 有权
    用于执行具有联合运算符的查询的方法,系统和程序

    公开(公告)号:US07539667B2

    公开(公告)日:2009-05-26

    申请号:US10982441

    申请日:2004-11-05

    IPC分类号: G06F17/30

    摘要: Disclosed is a data processing system implemented method, a data processing system and an article of manufacture for executing a query having a union operator. A data processing system implemented method direct the data processing system to execute a query against a database having data objects. The query has sub-queries and having a union operator. The union operator is operable on sub-queries associated with the query. The database is operatively coupled to the data processing system. The data processing system implemented method including grouping the sub-queries of the union operator according to identified structural similarities, the identified structural similarities being based on an analysis of the sub-queries, grouping the data objects of the database according to the grouped sub-queries, replacing the grouped data objects and any sub-queries associated with the grouped data objects with a reference to a representative data object and a representative sub-query, and accessing at least one member of the grouped data objects, the accessing of the at least one member of the grouped data object being based on the reference.

    摘要翻译: 公开了一种用于执行具有联合运算符的查询的数据处理系统实现方法,数据处理系统和制品。 数据处理系统实现的方法指导数据处理系统对具有数据对象的数据库执行查询。 该查询具有子查询并具有联合运算符。 联合运算符可用于与查询相关联的子查询。 数据库可操作地耦合到数据处理系统。 所述数据处理系统实现方法包括根据所识别的结构相似性对所述联合运算符的子查询进行分组,所识别的结构相似性基于所述子查询的分析,根据所述分组子集对数据库的数据对象进行分组, 查询,通过参考代表性数据对象和代表性子查询替换分组数据对象和与分组数据对象相关联的任何子查询,以及访问分组数据对象的至少一个成员,访问at 分组数据对象的至少一个成员基于参考。

    Method, system and program for executing a query having a UNION operator
    8.
    发明授权
    Method, system and program for executing a query having a UNION operator 失效
    用于执行具有UNION运算符的查询的方法,系统和程序

    公开(公告)号:US07409385B2

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

    申请号:US10982337

    申请日:2004-11-05

    IPC分类号: G06F7/00 G06F17/00

    摘要: Disclosed is a data processing system implemented method, a data processing system and an article of manufacture for executing a query having a union operator. The data processing system implemented method directs the data processing system to process a query against data objects. The data objects are operatively coupled to the data processing system. The query includes a parent operator. The parent operator references a union operator. The union operator references sub-queries. The sub-queries reference the data objects. The data processing system implemented method includes noting a set of partitionings for the union operator, the noted set of partitionings being based on the sub-queries and being based on the data objects reference by the sub-queries, and executing the query having the union operator, the execution of the query being based on the noted set of partitionings and the parent operator.

    摘要翻译: 公开了一种用于执行具有联合运算符的查询的数据处理系统实现方法,数据处理系统和制品。 数据处理系统实现的方法指导数据处理系统处理对数据对象的查询。 数据对象可操作地耦合到数据处理系统。 该查询包括父操作符。 父操作员引用联合运算符。 联合运算符引用子查询。 子查询引用数据对象。 所述数据处理系统实现的方法包括注意用于联合运算符的一组分区,所述一组分区基于子查询,并且基于由子查询引用的数据对象,并且执行具有联合的查询 操作员,查询的执行是基于所述的一组分区和父操作符。

    Optimal storage mechanism for persistent objects in DBMS
    9.
    发明授权
    Optimal storage mechanism for persistent objects in DBMS 失效
    DBMS中持久对象的最佳存储机制

    公开(公告)号:US6065013A

    公开(公告)日:2000-05-16

    申请号:US914394

    申请日:1997-08-19

    IPC分类号: G06F17/30

    摘要: A method, apparatus, and article of manufacture for a computer implemented storage mechanism for persistent objects in a database management system. A statement is executed in a computer. The statement is performed by the computer to manipulate data in a database stored on a data storage device connected to the computer. It is determined that an object is to be stored in an inline buffer. When the object can be entirely stored in the inline buffer, the object is stored in the inline buffer. When the object cannot be entirely stored in the inline buffer, a selected portion of the object is stored in the inline buffer and the remaining portion of the object is stored as a large object.

    摘要翻译: 一种用于数据库管理系统中用于持久对象的计算机实现的存储机制的方法,装置和制品。 在计算机中执行语句。 该语句由计算机执行以操作存储在连接到计算机的数据存储设备上的数据库中的数据。 确定一个对象要存储在一个内联缓冲区中。 当对象可以完全存储在内联缓冲区中时,对象被存储在内联缓冲区中。 当对象不能完全存储在内联缓冲区中时,对象的选定部分被存储在内联缓冲区中,并且对象的剩余部分被存储为大对象。

    System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance
    10.
    发明授权
    System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance 有权
    基于使用任务分区和服务器实例的动态分组的负载平衡一致的多应用环境中的分布式任务分派系统

    公开(公告)号:US08910176B2

    公开(公告)日:2014-12-09

    申请号:US12688337

    申请日:2010-01-15

    IPC分类号: G06F15/16 G06F17/30 G06F9/50

    摘要: A method and system for distributing tasks from an external application among concurrent database application server instances in a database system for optimum load balancing, based on consensus among the instances. Each application instance identifies a task partition ownership by those in a membership group based on a time window and generates a new membership group and partition ownership based on the current partition ownership. The instance makes the new membership group and partition ownership known to other members by recoding them in the membership table and partition map. Each participation by an instance in the membership group is identified by a random number. The new membership group and partition ownership are generated and adjusted based on an average partition allocation to achieve consensus among the instances.

    摘要翻译: 基于实例之间的一致性,用于在数据库系统中的并发数据库应用服务器实例之间从外部应用程序分发任务以实现最佳负载平衡的方法和系统。 每个应用程序实例基于时间窗口标识成员组中的任务分区所有权,并根据当前分区所有权生成新的成员组和分区所有权。 该实例通过在成员资格表和分区映射中对它们进行重新编码,使其他成员获得了新的成员组和分区所有权。 会员组中的实例的每个参与由随机数来标识。 根据平均分区分配生成和调整新成员组和分区所有权,以实现实例之间的一致。