Techniques of rewriting descendant and wildcard XPath using combination of SQL OR, UNION ALL, and XMLConcat() construct
    11.
    发明申请
    Techniques of rewriting descendant and wildcard XPath using combination of SQL OR, UNION ALL, and XMLConcat() construct 有权
    使用SQL OR,UNION ALL和XMLConcat()构造的组合重写后代和通配符XPath的技术

    公开(公告)号:US20070299834A1

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

    申请号:US11474038

    申请日:2006-06-23

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30935

    摘要: A method for processing queries is provided. A first representation of a query is generated, where the query includes a certain operator that is to be performed based on an XPath expression that is expandable into multiple location paths. The first representation of the query is rewritten into a second representation that corresponds to an equivalent query, where rewriting the first representation includes expanding the XPath expression into the plurality of location paths and, based on the certain operator, including a plurality of operators in the second representation, where the plurality of operators include: a first set of operators that is to be performed based on each of the plurality of location paths, and a second set of operators that is to be performed based on data returned from at least one operator included in the first set of operators. The query may thereafter be executed based on the second representation. The second representation may be further rewritten to third representation depending on the physical storage of XML.

    摘要翻译: 提供了一种处理查询的方法。 生成查询的第一个表示形式,其中查询包含一个基于可扩展到多个位置路径的XPath表达式执行的某个运算符。 查询的第一表示被重写成对应于等效查询的第二表示,其中重写第一表示包括将XPath表达式扩展到多个位置路径中,并且基于特定运算符,包括多个运算符 第二表示,其中所述多个运算符包括:将基于所述多个位置路径中的每一个来执行的第一组运算符,以及将基于从至少一个运算符返回的数据来执行的第二组运算符 包含在第一组运算符中。 此后可以基于第二表示来执行查询。 取决于XML的物理存储,第二表示可以进一步重写为第三表示。

    Optimization of queries over XML views that are based on union all operators
    12.
    发明申请
    Optimization of queries over XML views that are based on union all operators 有权
    基于联合所有运算符优化基于XML视图的查询

    公开(公告)号:US20060235840A1

    公开(公告)日:2006-10-19

    申请号:US11237286

    申请日:2005-09-27

    IPC分类号: G06F17/30

    摘要: Optimization is provided for database statements involving XML data, e.g., XPath and XQuery, which operate over views that use aggregate set operators, e.g., UNION ALL. As part of a “view merge” stage of query transformation, the query that operates over the view is merged with a query that defines the view. One or more expressions (e.g., operators, predicates, virtual table constructs) from the query that operates over the view are then “pushed down” to operate on the individual underlying XML data constructs. “Branch elimination” is performed based on the structure of the view and the query acting over the view, based on which it is possible to determine whether any of the sub-queries, if executed, would result in the return of zero rows. If so, then such branches are eliminated from the transformed query, leaving a reduced set of data containers on which to execute the query.

    摘要翻译: 针对涉及XML数据的数据库语句(例如,XPath和XQuery)提供优化,该数据库语句对使用聚合集合运算符(例如UNION ALL)的视图进行操作。 作为查询转换的“视图合并”阶段的一部分,通过视图操作的查询与定义视图的查询合并。 然后,通过视图操作的查询中的一个或多个表达式(例如,运算符,谓词,虚拟表结构)被“推下”以对各个底层XML数据结构进行操作。 基于视图的结构和在视图上执行的查询执行“分支消除”,基于此可以确定是否任何子查询(如果被执行)将导致返回零行。 如果是这样,则从转换的查询中消除这样的分支,留下一组减少的数据容器来执行查询。

    Techniques of optimizing queries using NULL expression analysis
    13.
    发明授权
    Techniques of optimizing queries using NULL expression analysis 有权
    使用NULL表达式分析优化查询的技术

    公开(公告)号:US07739219B2

    公开(公告)日:2010-06-15

    申请号:US11517969

    申请日:2006-09-08

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30454

    摘要: A method for optimizing queries is described. A query, which includes a first expression for determining whether each of a set of values evaluates to NULL or NOT NULL, is received. At compile-time, a first representation of the query is generated, where the first representation indicates that the query is to be performed based on the first expression. Based on the first expression, a second expression is determined. The second expression is such that the first expression would evaluate to any NOT NULL value if and only if the second expression would evaluate to any NOT NULL value. The second expression, when evaluated, is much more computationally efficient compared with the evaluation of the first expression. Based on the first representation, a second representation of the query is generated, where the second representation indicates that the query is to be performed based on the second expression. Thereafter, the query is executed based on the second representation.

    摘要翻译: 描述用于优化查询的方法。 一个查询,其中包含一个第一表达式,用于确定一组值中的每一个是否计算为NULL或NOT NULL。 在编译时,生成查询的第一个表示,其中第一个表示指示要根据第一个表达式执行查询。 基于第一个表达式,确定第二个表达式。 第二个表达式使得当且仅当第二个表达式计算为任何NOT NULL值时,第一个表达式将求值为任何NOT NULL值。 第二个表达式与评估第一个表达式相比,计算效率要高得多。 基于第一表示,生成查询的第二表示,其中第二表示指示将基于第二表达式执行查询。 此后,基于第二表示执行查询。

    Techniques of optimizing queries using NULL expression analysis
    14.
    发明申请
    Techniques of optimizing queries using NULL expression analysis 有权
    使用NULL表达式分析优化查询的技术

    公开(公告)号:US20080065674A1

    公开(公告)日:2008-03-13

    申请号:US11517969

    申请日:2006-09-08

    IPC分类号: G06F17/00

    CPC分类号: G06F17/30454

    摘要: A method for optimizing queries is described. A query, which includes a first expression for determining whether each of a set of values evaluates to NULL or NOT NULL, is received. At compile-time, a first representation of the query is generated, where the first representation indicates that the query is to be performed based on the first expression. Based on the first expression, a second expression is determined. The second expression is such that the first expression would evaluate to any NOT NULL value if and only if the second expression would evaluate to any NOT NULL value. The second expression, when evaluated, is much more computationally efficient compared with the evaluation of the first expression. Based on the first representation, a second representation of the query is generated, where the second representation indicates that the query is to be performed based on the second expression. Thereafter, the query is executed based on the second representation.

    摘要翻译: 描述用于优化查询的方法。 一个查询,其中包含一个第一表达式,用于确定一组值中的每一个是否计算为NULL或NOT NULL。 在编译时,生成查询的第一个表示,其中第一个表示指示要根据第一个表达式执行查询。 基于第一个表达式,确定第二个表达式。 第二个表达式使得当且仅当第二个表达式计算为任何NOT NULL值时,第一个表达式将求值为任何NOT NULL值。 第二个表达式与评估第一个表达式相比,计算效率要高得多。 基于第一表示,生成查询的第二表示,其中第二表示指示将基于第二表达式执行查询。 此后,基于第二表示执行查询。

    Techniques for efficient integration of text searching with queries over XML data
    15.
    发明申请
    Techniques for efficient integration of text searching with queries over XML data 有权
    通过XML数据高效集成文本搜索与查询的技术

    公开(公告)号:US20060224627A1

    公开(公告)日:2006-10-05

    申请号:US11099918

    申请日:2005-04-05

    IPC分类号: G06F17/00

    摘要: A method and apparatus for rewriting a database command containing an embedded XML expression such that the rewritten database command recites a text function, in lieu of the embedded XML expression, is provided. Advantageously, a DBMS may take advantage of the efficiencies in storing XML data within the database, while avoiding the generation of unnecessary XML elements in processing the query when the XML elements contribute nothing to the outcome of the query. Cost-base or rule-based analysis may be performed to determine how to rewrite a received database command. The database server may functionally evaluate the text function or may use an index defined on a column of the database. The text function may function as a primary filter or may reference a column upon which an index is defined, wherein the index operates at the same or higher level than a column being referenced in the embedded XML expression.

    摘要翻译: 提供一种用于重写包含嵌入式XML表达式的数据库命令的方法和装置,使得重写的数据库命令背景文本功能代替嵌入的XML表达。 有利地,DBMS可以利用在数据库中存储XML数据的效率,同时避免在XML元素对查询的结果没有贡献时在处理查询时生成不必要的XML元素。 可以执行基于成本或基于规则的分析来确定如何重写接收到的数据库命令。 数据库服务器可以在功能上评估文本功能,或者可以使用在数据库的列上定义的索引。 文本函数可以用作主过滤器,或者可以引用定义索引的列,其中索引在与嵌入式XML表达式中引用的列相同或更高的级别上操作。

    Techniques for partial rewrite of XPath queries in a relational database
    16.
    发明申请
    Techniques for partial rewrite of XPath queries in a relational database 有权
    在关系数据库中部分重写XPath查询的技术

    公开(公告)号:US20050065949A1

    公开(公告)日:2005-03-24

    申请号:US10984471

    申请日:2004-11-08

    IPC分类号: G06F7/00 G06F17/30

    摘要: Techniques are described for executing queries that have XPath sections that specify unmappable paths. The techniques involve splitting the unmappable paths into (1) a mappable path fragment, and (2) an unmappable path fragment. After an unmappable path has been split into a mappable path fragment and an unmappable path fragment, the XPath section is replaced with a replacement XPath section. The replacement XPath section specifies two operations: a “mappable operation” that is based on the mappable path fragment, and an “unmappable operation” that is based on the unmappable path fragment. The portion of the replacement XPath section that specifies the mappable operation is rewritten to access underlying relational structures. Consequently, when the rewritten query is executed, a smaller amount of XML data needs to be materialized to evaluate the unmappable path fragment than would otherwise have been required to evaluate the original unmappable path.

    摘要翻译: 描述了执行具有指定不可映射路径的XPath节的查询的技术。 这些技术涉及将不可映射的路径分解为(1)可映射路径片段,以及(2)不可映射的路径片段。 将不可映射路径分解为可映射路径片段和不可映射路径片段后,XPath节将替换为替换的XPath节。 替换XPath部分指定两个操作:基于可映射路径片段的“可映射操作”和基于不可映射路径片段的“不可映映操作”。 替换XPath部分指定可映射操作的部分被重写为访问基础关系结构。 因此,当执行重写的查询时,需要实现较少量的XML数据来评估不可映射的路径片段,而不是否则需要评估原始的不可映射路径。

    Processing queries against one or more markup language sources
    19.
    发明授权
    Processing queries against one or more markup language sources 有权
    处理针对一个或多个标记语言源的查询

    公开(公告)号:US07668806B2

    公开(公告)日:2010-02-23

    申请号:US10948536

    申请日:2004-09-22

    IPC分类号: G06F17/30

    摘要: Techniques are provided for processing a query, including receiving the query, where the query specifies certain operations to be performed, including (a) a first set of one or more operations that are to be performed on a markup language data source and (b) a second set of one or more operations that are to be performed on a second data source. Then it is determined that a first server that manages the markup language data source is capable of performing the first set of operations. A request is sent to the first server to perform the first set of operations. A response is received, where the response contains results of performing the first set of operations on the markup language data source. Finally, results are generated for the query based at least in part on the results of performing the first set of operations.

    摘要翻译: 提供了用于处理查询的技术,包括接收查询,其中查询指定要执行的某些操作,包括(a)要在标记语言数据源上执行的一个或多个操作的第一组,以及(b) 要在第二数据源上执行的一个或多个操作的第二组。 然后,确定管理标记语言数据源的第一服务器能够执行第一组操作。 发送请求到第一台服务器执行第一组操作。 收到响应,其中响应包含对标记语言数据源执行第一组操作的结果。 最后,至少部分地基于执行第一组操作的结果为查询生成结果。