摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
Instances of complex types are logically replicated. In general, the logical replication of complex types involves converting a complex type instance from its storage format into a logical representation written in a markup language, like XML. The logical representation is then propagated to a destination (or destinations), which converts the logical representation to a storage format used at the destination for that complex type.
摘要:
Efficiently replicating XML data among databases includes techniques for (a) replicating XML data involved with an insert operation; (b) replicating XML data involved with an update operation; (c) leveraging existing relational replication techniques for XML data stored in shredded form using object-relational constructs; and (d) replicating XQuery Data Model sequences. Each technique reduces the amount of information that would otherwise need to be transmitted over a network for XML data replication purposes.