Identification of vacuous predicates in computer programs
    1.
    发明授权
    Identification of vacuous predicates in computer programs 失效
    识别计算机程序中的空虚谓词

    公开(公告)号:US06728952B1

    公开(公告)日:2004-04-27

    申请号:US09405884

    申请日:1999-09-24

    IPC分类号: G06F945

    CPC分类号: G06F8/427 G06F8/34

    摘要: A computer system identifies a predicate in a computer language containing constant expressions as vacuous. The system identifies distinct variables contained in the predicate and represents the predicate by a set of bounding rectangles. The bounding rectangles are represented in a space having a number of dimensions equal to the number of variables. There are finite limits on dimensions of a bounding rectangle which represent the relationship between the variables in the predicate and the constant expressions in the predicate. The predicate is identified as vacuously FALSE where the set of bounding rectangles is empty.

    摘要翻译: 计算机系统将包含常数表达式的计算机语言的谓词识别为空虚。 系统识别谓词中包含的不同变量,并通过一组边界矩形表示谓词。 边界矩形在具有等于变量数量的维数的空间中表示。 对于表示谓词中的变量与谓词中的常量表达式之间的关系的边界矩形的维度有限制。 该谓词被识别为空虚FALSE,其中一组边界矩形为空。

    Handling null values in SQL queries over object-oriented data
    2.
    发明授权
    Handling null values in SQL queries over object-oriented data 失效
    在面向对象数据的SQL查询中处理空值

    公开(公告)号:US5905982A

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

    申请号:US835113

    申请日:1997-04-04

    IPC分类号: G06F17/30

    摘要: A method, apparatus, and article of manufacture for handling NULL values in SQL queries over object oriented data. A two-phase method is used to enable a query evaluator in a two-valued logic environment to properly handle occurrences of NULL values for predicates that involve subqueries, i.e., basic subquery predicates and/or quantified subquery predicates. For basic subquery predicates, negation reduction is performed by applying logical equivalence rules and inverting basic comparators (e.g., transforming =) to eliminate NOTs. Then, transformations are employed for the resulting positive predicates to include NULL value testing, i.e., NULL protection. For quantified subquery predicates, in addition to performing negation reduction, quantified subqueries are converted into existential subqueries. In most cases, this yields a predicate that can be handled using NULL protection transformations for positive predicates. The exception (i.e., a "NOT EXISTS" resulting from the conversion step of a universally quantified subquery) is handled using NULL protection transformations for negative predicates. The evaluation of the NULL tested positive and negative predicates ensures that if a predicate has a NULL value, it is not included in the query result.

    摘要翻译: 一种用于在面向对象数据的SQL查询中处理NULL值的方法,装置和制品。 两阶段方法用于使两值逻辑环境中的查询计算器正确地处理涉及子查询(即基本子查询谓词和/或量化子查询谓词)的谓词的NULL值的出现。 对于基本子查询谓词,通​​过应用逻辑等价规则和反转基本比较器(例如,转换 =)来消除NOT来执行否定减少。 然后,对所得到的积极谓词使用变换来包括NULL值测试,即NULL保护。 对于量化的子查询谓词,除了执行减法之外,量化的子查询也将转换为存在性子查询。 在大多数情况下,这产生了一个谓词,可以使用NULL保护转换来处理积极谓词。 使用针对负谓词的NULL保护转换来处理异常(即,由普遍量化的子查询的转换步骤产生的“NOT EXISTS”)。 NULL测试的正和负谓词的评估确保如果谓词具有NULL值,则不包括在查询结果中。

    Using an XML query language to publish relational data as XML
    3.
    发明授权
    Using an XML query language to publish relational data as XML 有权
    使用XML查询语言将关系数据作为XML发布

    公开(公告)号:US06947945B1

    公开(公告)日:2005-09-20

    申请号:US09531802

    申请日:2000-03-21

    IPC分类号: G06F17/30

    摘要: A method for publishing relational data as XML by translating XML queries into queries against an relational database. Conversion of the relational database into an XML database is not required. Each relational table is mapped to a virtual XML document, and XML queries are issued over these virtual documents. An XML query is parsed and transformed into a language-neutral intermediate representation, which is a sequence of operations describing how the output document is derived from the underlying relational tables. The intermediate representation is then translated into an SQL query over the underlying relational tables and into instructions for a tagger. The SQL query is executed, and the SQL query results are then fed into the tagger, which follows tagger instructions to generate the marked up output.

    摘要翻译: 通过将XML查询转换为关系数据库的查询,将关系数据作为XML发布的方法。 不需要将关系数据库转换为XML数据库。 每个关系表映射到一个虚拟XML文档,并通过这些虚拟文档发出XML查询。 解析XML查询并将其转换为语言中立的中间表示,它是描述输出文档如何从底层关系表导出的操作序列。 然后将中间表示形式转换为基于关系表的SQL查询和标记器的指令。 执行SQL查询,然后将SQL查询结果输入到标记器中,标签器遵循标记器指令生成标记输出。

    Query optimization with deferred updates and autonomous sources
    4.
    发明授权
    Query optimization with deferred updates and autonomous sources 有权
    使用延迟更新和自治源进行查询优化

    公开(公告)号:US06574639B2

    公开(公告)日:2003-06-03

    申请号:US09891453

    申请日:2001-06-27

    IPC分类号: G06F1730

    摘要: A method, apparatus, and article of manufacture for a computer-implemented technique for query optimization with deferred updates and autonomous sources. An object-oriented query is executed to retrieve data from a database. The database is stored on a data storage device connected to a computer. The object-oriented query is transformed into subqueries, wherein at least one subquery is directed against a database, and wherein one subquery is directed against an object cache. Each subquery that is directed against a database is executed to retrieve data from the database into the object cache. The subquery that is directed against the object cache is executed to retrieve data for the query, wherein the data incorporates updates to the object cache and updates to the database.

    摘要翻译: 用于具有延迟更新和自发源的用于查询优化的计算机实现技术的方法,装置和制品。 执行面向对象的查询以从数据库检索数据。 数据库存储在连接到计算机的数据存储设备上。 将面向对象的查询转换为子查询,其中至少一个子查询针对数据库,并且其中一个子查询针对对象高速缓存。 执行针对数据库的每个子查询,以将数据从数据库中检索到对象缓存中。 执行针对对象高速缓存的子查询以检索用于查询的数据,其中数据包含对对象缓存的更新和对数据库的更新。

    Query optimization with deferred update and autonomous sources
    5.
    发明授权
    Query optimization with deferred update and autonomous sources 有权
    使用延迟更新和自治源进行查询优化

    公开(公告)号:US06285997B1

    公开(公告)日:2001-09-04

    申请号:US09192817

    申请日:1998-11-16

    IPC分类号: G06F1730

    摘要: A method, apparatus, and article of manufacture for a computer-implemented technique for query optimization with deferred updates and autonomous sources. An object-oriented query is executed to retrieve data from a database. The database is stored on a data storage device connected to a computer. The object-oriented query is transformed into subqueries, wherein at least one subquery is directed against a database, and wherein one subquery is directed against an object cache. Each subquery that is directed against a database is executed to retrieve data from the database into the object cache. The subquery that is directed against the object cache is executed to retrieve data for the query, wherein the data incorporates updates to the object cache and updates to the database.

    摘要翻译: 用于具有延迟更新和自发源的用于查询优化的计算机实现技术的方法,装置和制品。 执行面向对象的查询以从数据库检索数据。 数据库存储在连接到计算机的数据存储设备上。 将面向对象的查询转换为子查询,其中至少一个子查询针对数据库,并且其中一个子查询针对对象高速缓存。 执行针对数据库的每个子查询,以将数据从数据库中检索到对象缓存中。 执行针对对象高速缓存的子查询以检索用于查询的数据,其中数据包含对对象缓存的更新和对数据库的更新。

    Query optimization using a multi-layered object cache
    6.
    发明授权
    Query optimization using a multi-layered object cache 失效
    使用多层对象缓存进行查询优化

    公开(公告)号:US06457020B1

    公开(公告)日:2002-09-24

    申请号:US09532179

    申请日:2000-03-20

    IPC分类号: G06F1730

    摘要: A method, apparatus, and article of manufacture for a computer-implemented technique for query optimization using a multi-layered object cache. An object-oriented query is executed to retrieve data from a database. The database is stored on a data storage device connected to a computer and queries are run against lower cache layers which have better performance characteristics than the external or upper layers. The multi-layered cache has an application objects (AOs) cache and a data access objects (DAOs) cache, and the application objects include methods deriving data from DAOs. The method includes a step of rewriting the query into a query directed against the DAOs cache, applying a pushdown transformation algorithm to the rewritten query directed against the DAOs cache, and executing the transformed query against the DAOs cache. The method also allows optimizing queries with path expressions by transforming path expression into joins. Another performance optimization includes using a limited data set only including the inserted and updated data, which allows the method to evaluate queries against a subset of a collection of cached objects instead of an entire collection of cached objects.

    摘要翻译: 一种用于使用多层对象缓存进行查询优化的计算机实现技术的方法,装置和制品。 执行面向对象的查询以从数据库检索数据。 数据库存储在连接到计算机的数据存储设备上,并且针对具有比外层或上层更好的性能特征的较低级缓存层运行查询。 多层缓存具有应用对象(AO)缓存和数据访问对象(DAO)缓存,并且应用对象包括从DAO导出数据的方法。 该方法包括将查询重写成针对DAO缓存的查询的步骤,将向下转换算法应用于针对DAO缓存的重写查询,以及针对DAO缓存执行转换查询。 该方法还允许通过将路径表达式转换为联接来优化具有路径表达式的查询。 另一个性能优化包括使用仅包括插入和更新的数据的有限数据集,其允许该方法针对缓存对象的集合的子集而不是整个高速缓存对象的集合来评估查询。

    Method and system for limiting the cardinality of an SQL query result
    7.
    发明授权
    Method and system for limiting the cardinality of an SQL query result 失效
    限制SQL查询结果基数的方法和系统

    公开(公告)号:US5956706A

    公开(公告)日:1999-09-21

    申请号:US853685

    申请日:1997-05-09

    IPC分类号: G06F17/30

    摘要: A STOP AFTER clause for a relational database management system (RDBMS) structured query language (SQL) causes the RDBMS, in response to a query, to return a query result having at most a predetermined cardinality specified in the query. A query with a STOP AFTER clause is processed by the RDBMS by provision of one or more STOP operators that are inserted into a query execution plan generated by the RDBMS to execute the query. In a conservative policy, STOP operators are inserted in the query execution plan such that no tuples that might be required in the query result are discarded. In contrast, an aggressive policy inserts a STOP operator in the query execution plan wherever it is able to provide a beneficial cardinality reduction. A RESTART operator is inserted into aggressive policy query execution plans to ensure that at least the predetermined number of tuples are returned in the query result, and a final STOP operator is added at or near the root of the plan to ensure that at most the specified number of tuples are produced.

    摘要翻译: 用于关系数据库管理系统(RDBMS)结构化查询语言(SQL)的STOP AFTER子句使得响应于查询的RDBMS返回具有至多在查询中指定的预定基数的查询结果。 使用STOP AFTER子句的查询由RDBMS通过提供插入到由RDBMS生成的查询执行计划中执行查询的一个或多个STOP运算符来处理。 在保守的策略中,STOP操作符被插入到查询执行计划中,使得查询结果中可能不需要的元组被丢弃。 相比之下,积极的策略在查询执行计划中插入一个STOP运算符,无论它能够提供有益的基数减少。 将RESTART运算符插入到积极的策略查询执行计划中,以确保至少在查询结果中返回预定数量的元组,并在计划根部附近添加最终的STOP运算符,以确保最多指定的 生成元组数。

    Database method and apparatus for interactively retrieving data members
and related members from a collection of data
    8.
    发明授权
    Database method and apparatus for interactively retrieving data members and related members from a collection of data 失效
    用于从数据集合中交互地检索数据成员和相关成员的数据库方法和装置

    公开(公告)号:US5778355A

    公开(公告)日:1998-07-07

    申请号:US664212

    申请日:1996-06-11

    IPC分类号: G06F17/30

    摘要: A method of, and system for, interactively accessing information in response to a user command having a predefined operator and specifying one of a plurality of collections of information. The collections of information are stored in an object-oriented database in a hierarchical arrangement of data members. The hierarchical arrangement can include one level of data members and in which one of the data members is composed of a next level of data members. Each data member is stored according to one of a system-specified and a user-specified storage definition. A set of user-specified storage definitions is defined from the plurality of storage definitions. Upon detecting the user command, the specified collection of information is analyzed to determine which data members of the one level are stored according to one of the storage definitions of the set. Each data member not in the set is added to a projection list; each data member in the set is expanded into a next level of data members composing the data member in the set. Expanding can include analyzing each data member of the next level to determine whether it is in the set and if so again expanding up until a specified level of expanding. The projection list is processed to return to the user the information corresponding to the data members in the projection list. The invention may be implemented in a Parser layer of a known layered architecture for database systems.

    摘要翻译: 响应于具有预定义操作符的用户命令并指定多个信息集合之一来交互地访问信息的方法和系统。 信息集合以数据成员的分层布置存储在面向对象的数据库中。 分层布置可以包括一级数据成员,并且其中一个数据成员由下一级数据成员组成。 每个数据成员根据系统指定的和用户指定的存储定义之一进行存储。 从多个存储定义中定义一组用户指定的存储定义。 在检测到用户命令时,分析指定的信息集合以根据集合的存储定义之一来确定存储一个级别的哪些数据成员。 不在集合中的每个数据成员都添加到投影列表中; 集合中的每个数据成员被扩展成组成组中的数据成员的下一级数据成员。 扩展可以包括分析下一级别的每个数据成员以确定它是否在集合中,如果再次扩展,直到指定级别的扩展。 处理投影列表以向用户返回与投影列表中的数据成员相对应的信息。 本发明可以在用于数据库系统的已知分层架构的解析器层中实现。