摘要:
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.
摘要:
To associate XML data objects (“child objects”), stored in rows of relational or object-relational tables, with the appropriate XML data objects (“parent objects”) from which the child objects descend, tables that contain child objects (“out-of-line” tables) are constructed with an additional column. In one embodiment, this column stores values that identify the root objects, in the appropriate table, from which the respective child objects descend. Hence, the root object from which any given object descends is traceable by following the respective value back to the corresponding root object. In one embodiment, this column stores values that identify the complete XML hierarchical path, through multiple tables, back to the root object from which the respective child objects descend. Consequently, XML query language queries against XML documents stored in such tables can be rewritten as SQL queries against the data in the tables, even in the presence of cyclic constructs.
摘要:
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.
摘要:
Techniques for managing XML data associated with multiple execution units ensure that execution units are able to use XML data coming from other execution units. Such techniques are applicable when, but for the technique, an XML type value is produced in a particular form by one execution unit and is supposed to be consumed by another execution unit that is unable to process data in the particular form, and involves detecting that the foregoing situation exists and annotating information sent to an XML producer execution unit to cause the XML type value to be transformed into a canonical form that can be shared by all relevant execution units.
摘要:
Disclosed is a method and mechanism for processing expressions and operator trees. An approach is particularly useful to optimize processing of XML statements with respect to SQL operators. A top-down processing approach can be taken to directly output data from operators to a data stream. In addition, multiple processing approaches can be taken within a single expression tree, with some operators processed using the top-down approach and other operators processed with the bottom-up approach. Even data that can not be streamed is copied fewer times using this approach, intermediate values from bottom-up processing may still be streamed if it is used by an operator that is eligible for top-down processing.
摘要:
Techniques for managing XML data associated with multiple execution units ensure that execution units are able to use XML data coming from other execution units. Such techniques are applicable when, but for the technique, an XML type value is produced in a particular form by one execution unit and is supposed to be consumed by another execution unit that is unable to process data in the particular form, and involves detecting that the foregoing situation exists and annotating information sent to an XML producer execution unit to cause the XML type value to be transformed into a canonical form that can be shared by all relevant execution units.
摘要:
Disclosed is a method and mechanism for processing expressions and operator trees. An approach is particularly useful to optimize processing of XML statements with respect to SQL operators. A top-down processing approach can be taken to directly output data from operators to a data stream. In addition, multiple processing approaches can be taken within a single expression tree, with some operators processed using the top-down approach and other operators processed with the bottom-up approach. Even data that can not be streamed is copied fewer times using this approach, intermediate values from bottom-up processing may still be streamed if it is used by an operator that is eligible for top-down processing.
摘要:
To associate XML data objects (“child objects”), stored in rows of relational or object-relational tables, with the appropriate XML data objects (“parent objects”) from which the child objects descend, tables that contain child objects (“out-of-line” tables) are constructed with an additional column. In one embodiment, this column stores values that identify the root objects, in the appropriate table, from which the respective child objects descend. Hence, the root object from which any given object descends is traceable by following the respective value back to the corresponding root object. In one embodiment, this column stores values that identify the complete XML hierarchical path, through multiple tables, back to the root object from which the respective child objects descend. Consequently, XML query language queries against XML documents stored in such tables can be rewritten as SQL queries against the data in the tables, even in the presence of cyclic constructs.
摘要:
Techniques for executing database commands include receiving a database command that includes an XML component operation that operates on an XML construct that is based on a first set of one or more relational database constructs. It is determined whether the XML component operation can be transformed to a relational database operation on a particular set of one or more relational database constructs of the first set, which does not involve the XML component operation. If it is determined that the XML component operation can be transformed, then the XML component operation is rewritten as a particular relational database operation that operates on the particular set and that does not involve the XML component operation. The particular relational database operation is evaluated. In another aspect, techniques include determining a primitive set of XML generation operations and replacing non-primitive XML generation operations with one or more operations from the primitive set.
摘要:
Techniques for managing XML data in an SQL compliant DBMS include receiving an SQL statement. The SQL statement includes a particular operator that operates on a first instance of XML type that represents a first set of XML elements. During execution of the SQL statement, the particular operator is evaluated by generating an ordered collection of instances of XML type. Each different instance in the ordered collection is based on a different XML element from the first set; and there is an instance in the ordered collection for every XML element from either the first set or from the first set and its descendents. When descendents are included, each entry in the ordered collection indicates a level in the XML tree. In another aspect, an aggregate operator in the SQL statement operates on a collection of instances, with associated levels, to generate a single instance of XML type.