Combining streaming and navigation for evaluating XML queries
First Claim
Patent Images
1. A computer-implemented method comprising:
- rewriting an original query into a rewritten query, said original query including;
a first path-based expression that evaluates to first one or more values, anda second path-based expression;
wherein the rewritten query includes a first rewritten expression that causes the first one or more values to be computed using streaming evaluation;
wherein the rewritten query includes a second rewritten expression that corresponds to said second path-based expression;
computing the first rewritten expression using a streaming evaluation;
computing the second rewritten expression using XML index evaluation of an XML index that indexes nodes in a collection of XML documents, wherein each index entry of entries of said XML index contains location data that identifies a location of an element within a representation of an XML document of said collection of XML documents;
wherein the second rewritten expression evaluates to an output for location information within a representation of a particular XML document, wherein said output of said second rewritten expression is an input to said first rewritten expression;
wherein said location information is derived from location data from an entry in said XML index; and
wherein computing the first rewritten expression includes using said location information to locate an element within said representation of said particular XML document using streaming evaluation.
1 Assignment
0 Petitions
Accused Products
Abstract
A query is rewritten to combine streaming evaluation and XML index evaluation. The query is rewritten to include a streaming operator (e.g. function) that, when executed, uses streaming evaluation. Further, the query is rewritten so that XML index evaluation of a path expression also produces location information that identifies the location of a node within an XML document. The streaming operator is able to exploit the location information to begin and end scanning rather than scanning the entire XML document.
4 Citations
16 Claims
-
1. A computer-implemented method comprising:
-
rewriting an original query into a rewritten query, said original query including; a first path-based expression that evaluates to first one or more values, and a second path-based expression; wherein the rewritten query includes a first rewritten expression that causes the first one or more values to be computed using streaming evaluation; wherein the rewritten query includes a second rewritten expression that corresponds to said second path-based expression; computing the first rewritten expression using a streaming evaluation; computing the second rewritten expression using XML index evaluation of an XML index that indexes nodes in a collection of XML documents, wherein each index entry of entries of said XML index contains location data that identifies a location of an element within a representation of an XML document of said collection of XML documents; wherein the second rewritten expression evaluates to an output for location information within a representation of a particular XML document, wherein said output of said second rewritten expression is an input to said first rewritten expression; wherein said location information is derived from location data from an entry in said XML index; and wherein computing the first rewritten expression includes using said location information to locate an element within said representation of said particular XML document using streaming evaluation. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method comprising:
-
a database server rewriting an original query into a rewritten query, said original query including; a first path-based expression in a SELECT clause that evaluates to first one or more values, and second path-based expressions in both a FROM clause and a WHERE clause; wherein the rewritten query includes a first rewritten expression that causes the first one or more values to be computed using streaming evaluation; wherein the rewritten query includes second rewritten expressions that correspond to said second path-based expressions; said database server computing the first written expression using streaming evaluation; said database server computing the second rewritten expressions using XML index evaluation of an XML index that indexes nodes in a collection of XML documents, wherein each index entry of entries of said XML index contains location data that identifies a location of an element within a representation of an XML document of said collection of XML documents; wherein the second rewritten expression evaluates to an output for location information within a representation of a particular XML document, wherein said output of said second rewritten expression is an input to said first rewritten expression, wherein said location information is derived from location data from an entry in said XML index; and wherein computing the first rewritten expression includes using said location information to locate an element within said representation of said particular XML document using streaming evaluation. - View Dependent Claims (7, 8)
-
-
9. A non-transitory computer-readable storage medium storing one or more sequences of instructions, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
rewriting an original query into a rewritten query, said original query including; a first path-based expression that evaluates to first one or more values, and a second path-based expression; wherein the rewritten query includes a first rewritten expression that causes the first one or more values to be computed using streaming evaluation; wherein the rewritten query includes a second rewritten expression that corresponds to said second path-based expression; computing the first rewritten expression using a streaming evaluation; computing the second rewritten expression using XML index evaluation of an XML index that indexes nodes in a collection of XML documents, wherein each index entry of entries of said XML index contains location data that identifies a location of an element within a representation of an XML document of said collection of XML documents; wherein the second rewritten expression evaluates to an output for location information within a representation of a particular XML document, wherein said output of said second rewritten expression is an input to said first rewritten expression, wherein said location information is derived from location data from an entry in said XML index; and wherein computing the first rewritten expression includes using said location information to locate an element within said representation of said particular XML document using streaming evaluation. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium carrying one or more sequences of instructions, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
a database server rewriting an original query into a rewritten query, said original query including; a first path-based expression in a SELECT clause that evaluates to first one or more values, and second path-based expressions in both a FROM clause and a WHERE clause; wherein the rewritten query includes a first rewritten expression that causes the first one or more values to be computed using streaming evaluation; wherein the rewritten query includes second rewritten expressions that correspond to said second path-based expressions; said database server computing the first written expression using streaming evaluation; said database server computing the second rewritten expressions using XML index evaluation of an XML index that indexes nodes in a collection of XML documents, wherein each index entry of entries of said XML index contains location data that identifies a location of an element within a representation of an XML document of said collection of XML documents; wherein the second rewritten expression evaluates to an output for location information within a representation of a particular XML document, wherein said output of said second rewritten expression is an input to said first rewritten expression, wherein said location information is derived from location data from an entry in said XML index; and wherein computing the first rewritten expression includes using said location information to locate an element within said representation of said particular XML document using streaming evaluation. - View Dependent Claims (15, 16)
-
Specification