Techniques for partial rewrite of XPath queries in a relational database
First Claim
1. A method for processing a database command that includes an XPath section with an unmappable path, the method comprising the steps of:
- splitting the unmappable path into a plurality of path fragments, wherein the plurality of path fragments includes a mappable path fragment and an unmappable path fragment; and
replacing the XPath section with a replacement XPath section that specifies operations involving path fragments from the plurality of path fragments, wherein the operations include;
a mappable operation whose target is defined by the mappable path fragment; and
an unmappable operation whose target is defined by the unmappable path fragment.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
127 Citations
20 Claims
-
1. A method for processing a database command that includes an XPath section with an unmappable path, the method comprising the steps of:
-
splitting the unmappable path into a plurality of path fragments, wherein the plurality of path fragments includes a mappable path fragment and an unmappable path fragment; and
replacing the XPath section with a replacement XPath section that specifies operations involving path fragments from the plurality of path fragments, wherein the operations include;
a mappable operation whose target is defined by the mappable path fragment; and
an unmappable operation whose target is defined by the unmappable path fragment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification