QUERY PROCESSING WITH SPECIALIZED QUERY OPERATORS
First Claim
1. A system for generating a query processing solution for a query, comprising:
- a query operator set comprising;
at least one unspecialized query operator configured to perform a query task on at least one unspecialized data type, andat least one specialized query operator configured to perform at least one query task when at least one specialization criterion is satisfied; and
a query operator selecting component configured to;
select a specialized query operator for respective query terms satisfying the at least one specialization criterion of the specialized query operator; and
select an unspecialized query operator for respective query terms for which a specialized query operator has not been selected; and
generate the query processing solution as a sequence of selected query operators.
2 Assignments
0 Petitions
Accused Products
Abstract
Queries targeting various data sources are processed in a query processing pipeline that parses the query into a set of operations (e.g., an expression tree or a translated SQL query) using a set of query operators, each handling a particular type of operation. The query operators are often designed in an unspecialized manner, such that each query operator handles one query operation in an atomic, generic manner (e.g., sorting generic data items for an ORDER BY clause.) More efficient queries may be devised by including specialized queries that operate in common but special cases, such as a sorting of a particular data type (e.g., a floating-point number sort) or a sequence of two or more operations that are often performed together (e.g., a WHERE test of an attribute followed by a SELECT of the same attribute.) The use of specialized operators may result in the formulation of more efficient queries.
-
Citations
20 Claims
-
1. A system for generating a query processing solution for a query, comprising:
-
a query operator set comprising; at least one unspecialized query operator configured to perform a query task on at least one unspecialized data type, and at least one specialized query operator configured to perform at least one query task when at least one specialization criterion is satisfied; and a query operator selecting component configured to; select a specialized query operator for respective query terms satisfying the at least one specialization criterion of the specialized query operator; and select an unspecialized query operator for respective query terms for which a specialized query operator has not been selected; and generate the query processing solution as a sequence of selected query operators. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of generating a query processing solution for a query from a query operator set comprising at least one unspecialized query operator configured to perform a query task on at least one unspecialized data type and at least one specialized query operator configured to perform at least one query task when at least one specialization criterion is satisfied, the method comprising:
-
selecting a specialized query operator for respective query terms satisfying the at least one specialization criterion of the specialized query operator; selecting an unspecialized query operator for respective query terms for which a specialized query operator has not been selected; and generating the query processing solution as a sequence of selected query term operators. - View Dependent Claims (17, 18, 19)
-
-
20. A system for generating a query processing solution for a language-integrated query, comprising:
-
a data store targeted by the query; a query operator set comprising; at least one unspecialized query operator configured to perform a query task on at least one unspecialized data type, including at least one unspecialized query operator configured to; detect at least one data type involved in the query, and select a specialized query operator configured to perform at least one query task involving the data type; and at least one specialized query operator configured to perform at least one query task when at least one specialization criterion is satisfied, including at least one specialized query operator configured, upon selection for at least one query task, to; identify a specialized query operator capable of processing the at least one query task and at least one additional query task of the query; and upon identifying a specialized order query operator, select the specialized query operator for the at least one query task and the at least one additional query task; a query operator selecting component configured to; select at least one unspecialized query operator for respective query terms of the query; and upon receiving from a query operator a specialized query operator for the least one query term and the at least one additional query term, select the specialized query operator for the at least one query term and the at least one additional query term; a query operator selecting component configured to; identify specialized query operators handling at least two query tasks specified in at least two query terms of the query; upon identifying a specialized query operator, select the specialized query operator for the at least two query terms of the query; upon failing to identify a specialized query selector, select an unspecialized query operator for respective query terms for which a specialized query operator has not been selected; and generate the query processing solution as an expression tree comprising a sequence of selected query operators; and a query applying component configured to apply the processing solution to the data store.
-
Specification