Techniques for partial rewrite of XPath queries in a relational database
First Claim
1. A computer-implemented method for processing a database command that includes section that specifies an operation to be performed on an unmappable path, which when executed by a computer causes the computer to perform the method which comprises 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 section with a replacement 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.
-
Citations
21 Claims
-
1. A computer-implemented method for processing a database command that includes section that specifies an operation to be performed on an unmappable path, which when executed by a computer causes the computer to perform the method which comprises 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 section with a replacement 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, 21)
-
Specification