Query processing pipelines with single-item and multiple-item query operators
First Claim
1. A method of issuing a query comprising at least one data source reference to a data source using a set of data source mappings and a set of query operators comprising at least one single-item query operator and at least one multiple-item query operator, the method comprising:
- transforming the query into an expression tree;
identifying the query as one of a single-item query and a multiple-item query;
upon identifying a single-item query, selecting at least one single-item query operator applying the query to a single item of the data source;
upon identifying a multiple-item query, selecting at least one multiple-item query operator applying the query to at least two items of the data source;
invoking selected query operators to;
map the data source references of the expression tree to respective aspects of the data source using the data source mappings, andtranslate the expression tree into a translated query in a query language; and
sending the translated query to the data source.
2 Assignments
0 Petitions
Accused Products
Abstract
Queries against data sources (such as language-integrated queries to be applied against relational databases) may be prepared for processing by a query processing pipeline. This pipeline performs services including transforming the query into a form more easily applied by the data source, e.g., into SQL, by matching query terms with query operators configured to handle various query operations. Many query processing pipelines include single-item query operators that perform individual operations (e.g., an updating query operator that specifies an updating of individual records of a table.) An integrated query pipeline may be devised that includes both single-item query operators and multiple-item query operators that specify operations on sets of data items. An integrated query processing pipeline may analyze the query to determine whether a single-item or multiple-item operation is specified in order to select an appropriate query operator, which may improve the efficiency and performance of the data source querying.
46 Citations
20 Claims
-
1. A method of issuing a query comprising at least one data source reference to a data source using a set of data source mappings and a set of query operators comprising at least one single-item query operator and at least one multiple-item query operator, the method comprising:
-
transforming the query into an expression tree; identifying the query as one of a single-item query and a multiple-item query; upon identifying a single-item query, selecting at least one single-item query operator applying the query to a single item of the data source; upon identifying a multiple-item query, selecting at least one multiple-item query operator applying the query to at least two items of the data source; invoking selected query operators to; map the data source references of the expression tree to respective aspects of the data source using the data source mappings, and translate the expression tree into a translated query in a query language; and sending the translated query to the data source. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for issuing a query comprising at least one data source reference to a data source, the system comprising:
-
a set of data source mappings; a set of query operators comprising at least one single-item query operator and at least one multiple-item query operator; a query transforming component configured to transform the query into an expression tree; a query identifying component configured to identify the query as one of a single-item query and a multiple-item query; a query operator selecting component configured to select at least one of; at least one single-item query operator applying a single-item query to a single item of the data source, and at least one multiple-item query operator applying a multiple-item query to at least two items of the data source; a query translating component configured to invoke the selected query operators to; map the data source references of the expression tree to respective aspects of the data source using the data source mappings, and translate the expression tree into a translated query in a query language; and a query sending component configured to send the translated query to the data source, respective instructions comprising instructions stored in a memory of a device and executable on a processor of the device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for issuing a data source altering query comprising at least one data source reference to a data source and referencing at least one local object, the system comprising:
-
a set of data source mappings comprising at least one of; a schema definition, and a set of metadata associated respective aspects of the data source; a set of query operators comprising at least one single-item query operator and at least one multiple-item query operator; a query transforming component configured to transform the query into an expression tree; a query identifying component configured to identify the query as one of a single-item query and a multiple-item query; a query operator selecting component configured to select at least one of; at least one single-item query operator applying a single-item query to a single item of the data source, and at least one multiple-item query operator applying a multiple-item query to at least two items of the data source; a query translating component configured to invoke the selected query operators to; map the data source references of the expression tree to respective aspects of the data source using the data source mappings, and translate the expression tree into a translated query in a query language; at least one data source cache configured to cache at least one aspect of the data source upon sending a query and upon receiving a query result; a query sending component configured to; serialize the at least one local object, identify the query as one of an altering query and a non-altering query; upon identifying an altering query, cache at least one data source aspect set by the altering query in the data source cache; upon identifying a non-altering query; query the data source cache to identify at least one cached data source aspect referenced by the non-altering query; upon identifying at least one cached data source aspect referenced by the non-altering query, return the cached data source aspect in response to the query; and upon failing to identify at least one cached data source aspect referenced by the non-altering query; send the translated query to the data source, and send a serialized representation of the at least one local object to the data source; and a query result receiving component configured to; receive a query result from the data source in response to the query, and deserialize at least one local object from at least one aspect of the query result, respective instructions comprising instructions stored in a memory of a device and executable on a processor of the device.
-
Specification