Program synthesis for query optimization
AssigneeMicrosoft Technology Licensing, LLC
InventorsKaushik Rajan, Akash Lal, Matthias Schlaipfer
Life of this patent
Estimating the term…
Abstract
Systems, methods, and computer-executable instructions for using program synthesis for a database query includes analyzing a database query, written in a first language, to identify a first sub-query. A first synthesis template is constructed for the first sub-query. A first program, synthesized in a second language different from the first language, is synthesized using the first synthesis template. The functionality of the first program is equivalent to the first sub-query. The database query is rewritten to call the first program. The rewritten database query is executed.
Claims20
A method for program synthesis of a database query, the method comprising operations performed using an electronic processor, the operations comprising:
- analyzing a database query provided in a first language to identify a first sub-query;
- constructing a first synthesis template for the first sub-query;
- synthesizing a first program using the first synthesis template, wherein the first program is synthesized in a second language different from the first language, and wherein functionality of the first program is equivalent to the first sub-query;
- rewriting the database query to call the first program;
- and
- executing the rewritten database query.
A system for program synthesis of a database query, the system comprising one or more electronic processors to:
- analyze a database query provided in a first language to identify a first sub-query;
- construct a first synthesis template for the first sub-query;
- synthesize a first program using the first synthesis template, wherein the first program is synthesized in a second language different from the first language, and wherein functionality of the first program is equivalent to the first sub-query;
- rewrite the database query to call the first program;
- and
- execute the rewritten database query.
A computer-readable storage media storing computer-executable instructions for program synthesis of a database query, the stored instructions comprising:
- instructions to analyze a database query provided in a first language to identify a first sub-query;
- instructions to construct a first synthesis template for the first sub-query;
- instructions to synthesize a first program using the first synthesis template, wherein the first program is synthesized in a second language different from the first language, and wherein functionality of the first program is equivalent to the first sub-query;
- instructions to rewrite the database query to call the first program;
- and
- instructions to execute the rewritten database query.
Dependencies are inferred from the claim text.