Techniques for managing XML data associated with multiple execution units
First Claim
Patent Images
1. A method comprising:
- analyzing a query execution plan that specifies tasks to be performed by a plurality of execution units;
wherein the plurality of execution units include a first execution unit and a second execution unit;
wherein the query execution plan is to service a request for data;
wherein analyzing the query execution plan includes;
detecting that a portion of the query execution plan specifies first tasks to be performed by the first execution unit;
detecting that another portion of the query execution plan specifies second tasks to be performed by the second execution unit; and
detecting that, as a result of performing the first tasks, the first execution unit will generate XML data that the second execution unit needs to perform the second tasks;
generating information to send to said first execution unit to cause said first execution unit to perform said first tasks;
wherein, in the absence of any annotation, said information would cause said first execution unit to generate the XML data in a first form that cannot be used by said second execution unit;
wherein, in said first form, the XML data generated by the first execution unit includes one or more references to execution unit-specific data that is accessible by the first execution unit but that is not accessible by the second execution unit; and
annotating said information with an annotation that causes the XML data generated by said first execution unit in the first form to be transformed to a second form for use by said second execution unit in performing said second tasks;
wherein, in said second form, the XML data does not include any references to execution unit-specific data; and
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
44 Claims
-
1. A method comprising:
-
analyzing a query execution plan that specifies tasks to be performed by a plurality of execution units; wherein the plurality of execution units include a first execution unit and a second execution unit; wherein the query execution plan is to service a request for data; wherein analyzing the query execution plan includes; detecting that a portion of the query execution plan specifies first tasks to be performed by the first execution unit; detecting that another portion of the query execution plan specifies second tasks to be performed by the second execution unit; and detecting that, as a result of performing the first tasks, the first execution unit will generate XML data that the second execution unit needs to perform the second tasks; generating information to send to said first execution unit to cause said first execution unit to perform said first tasks; wherein, in the absence of any annotation, said information would cause said first execution unit to generate the XML data in a first form that cannot be used by said second execution unit; wherein, in said first form, the XML data generated by the first execution unit includes one or more references to execution unit-specific data that is accessible by the first execution unit but that is not accessible by the second execution unit; and annotating said information with an annotation that causes the XML data generated by said first execution unit in the first form to be transformed to a second form for use by said second execution unit in performing said second tasks; wherein, in said second form, the XML data does not include any references to execution unit-specific data; and wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, cause performance of steps comprising:
-
analyzing a query execution plan that specifies tasks to be performed by a plurality of execution units; wherein the plurality of execution units include a first execution unit and a second execution unit; wherein the query execution plan is to service a request for data; wherein analyzing the query execution plan includes; detecting that a portion of the query execution plan specifies first tasks to be performed by the first execution unit; detecting that another portion of the query execution plan specifies second tasks to be performed by the second execution unit; and detecting that, as a result of performing the first tasks, the first execution unit will generate XML data the second execution unit needs to perform the second tasks; generating information to send to said first execution unit to cause said first execution unit to perform first tasks; wherein in the absence of any annotation, said information would cause said first execution unit to generate the XML data in a first form that cannot be used by said second execution unit; wherein, in said first form, the XML data includes one or more references to execution unit-specific data that is accessible by the first execution unit but that is not accessible by the second execution unit; and annotating said information with an annotation that causes the XML data generated by said first execution unit to be transformed to a second form for use by said second execution unit in performing said second tasks; wherein, in said second form, the XML data does not include any references to execution unit-specific data. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method for processing XML data, comprising:
-
analyzing a query execution plan that specifies tasks to be performed by a plurality of execution units; wherein the plurality of execution units include a first execution unit and a second execution unit; wherein the query execution plan is to service a request for data; wherein analyzing the query execution plan includes; receiving information at the first execution unit to cause said first execution unit to perform first tasks; detecting that another portion of the query execution plan specifies second tasks to be performed by the second execution unit; and detecting that, as a result of performing the first tasks, the first execution unit will generate XML data that the second execution unit needs to perform the second tasks; wherein, in the absence of any annotation, said information would cause said first execution unit to generate the XML data in a first form that cannot be used by said second execution unit; wherein, in said first form, the XML data includes one or more references to execution unit-specific data that is accessible by the first execution unit but that is not accessible by the second execution unit; annotating said information with an annotation that causes the XML data generated by said first execution unit to be transformed to a second form for use by said second execution unit in performing said second tasks; wherein, in said second form, the XML data does not include any references to execution unit-specific data; and providing XML data that is annotated to said second execution unit in said second form for use in performing said second tasks by said second execution unit; wherein the method is performed by one or more computing devices. - View Dependent Claims (40, 41)
-
-
42. A non-transitory computer-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, cause performance of steps comprising:
-
analyzing a query execution plan that specifies tasks to be performed by a plurality of execution units; wherein the plurality of execution units include a first execution unit and a second execution unit; wherein the query execution plan is to service a request for data; wherein analyzing the query execution plan includes; receiving information at the first execution unit to cause said first execution unit to perform first tasks; detecting that another portion of the query execution plan specifies second tasks to be performed by the second execution unit; and detecting that, as a result of performing the first tasks, the first execution unit will generate XML data that the second execution unit needs to perform the second tasks; wherein in the absence of any annotation, said information would cause said first execution unit to generate the XML data in a first form that cannot be used by said second execution unit; wherein, in said first form, the XML data includes one or more references to execution unit-specific data that is accessible by the first execution unit but that is not accessible by the second execution unit; annotating said information with an annotation that causes the XML data generated by said first execution unit to be transformed to a second form for use by said second execution unit in performing said second task; wherein, in said second form, the XML data does not include any references to execution unit-specific data; and providing XML data that is annotated to said second execution unit in said second form for use in performing said second tasks by said second execution unit. - View Dependent Claims (43, 44)
-
Specification