Query processing

US10180960B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10180960-B2
Application numberUS-201214398229-A
CountryUS
Kind codeB2
Filing dateMay 15, 2012
Priority dateMay 15, 2012
Publication dateJan 15, 2019
Grant dateJan 15, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for query processing includes receiving a query, and determining a query type by determining if the query is a structured query language (SQL) query including multiple distinct aggregates (MDAs), or a SQL query including cube, rollup or grouping sets operations. Based on the determination, the method includes processing the query to generate an output, and performing a predetermined number of maximum group by operations on the output based on the query type to generate a response to the query.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for query processing, the method comprising: receiving a query, the query comprising a structured query language (SQL) query; determining a query type of the query based on whether the query comprises multiple distinct aggregates (MDAs) or cube, rollup or grouping sets operations; based on the determined query type, processing the query to generate an output comprising intermediate results; processing the intermediate results that are generated during the processing of the query, wherein the intermediate results are maintained in a single stream to prevent a distributed deadlock; and performing, by a processor, a predetermined number of maximum group by operations on the output based on the query type to generate a response to the query. 2. The method of claim 1 , wherein the predetermined number of maximum group by operations is two if the query type is a SQL query including MDAs. 3. The method of claim 1 , wherein the predetermined number of maximum group by operations is one if the query type is a SQL query including cube, rollup or grouping sets operations. 4. The method of claim 1 , further comprising: if the query type is a SQL query including MDAs, generating inner and outer group by operations for the SQL query including MDAs. 5. The method of claim 4 , wherein the inner group by operation includes no aggregates. 6. The method of claim 4 , wherein the outer group by operation includes a determination of aggregates for the SQL query including MDAs. 7. The method of claim 1 , further comprising: if the query type is a SQL query including the cube operation, generating 2 m groupings, where m is a number of grouping columns for the cube operation. 8. The method of claim 1 , further comprising: if the query type is a SQL query including the rollup operation, generating m+k+1 groupings, where m is a number of grouping columns and k is a number of aggregates for the rollup operation. 9. The method of claim 1 , further comprising: if the query type is a SQL query including the grouping sets operation, generating m+k+1 groupings, where m is a number of grouping columns and k is a number of aggregates for the grouping sets operation. 10. The method of claim 1 , further comprising: generating groupings to answer the query based on the query type. 11. A query processing apparatus comprising: a memory storing a module comprising machine readable instructions to: receive a query, the query comprising a structured query language (SQL) query; determine a query type of the query based on whether the query comprises multiple distinct aggregates (MDAs), or cube, rollup or grouping sets operations; based on the determined query type, process the query to generate an output comprising intermediate results; process the intermediate results that are generated during the processing of the query, wherein the intermediate results are maintained in a single stream to prevent a distributed deadlock; and perform a single or two successive group by operations on the output based on the query type to generate a response to the query; and a processor to implement the module. 12. The apparatus of claim 11 , further comprising machine readable instructions to: perform the two successive group by operations if the query type is the SQL query including MDAs. 13. The apparatus of claim 11 , further comprising machine readable instructions to: generate inner and outer group by operations for a SQL query including MDAs. 14. The apparatus of claim 11 , further comprising machine readable instructions to: perform the single group by operation if the query type is the SQL query including cube, rollup or grouping sets operations. 15. A non-transitory computer readable medium having stored thereon machine readable instructions for query processing, the machine readable instructions when executed cause a computer system to: receive a query; determine a query type by determining if the query is a structured query language (SQL) query including multiple distinct aggregates (MDAs), or a SQL query including cube, rollup or grouping sets operations; based on the determination, process the query to generate an output comprising intermediate results; process the intermediate results that are generated during the processing of the query, wherein the intermediate results are maintained in a single stream to prevent a distributed deadlock; and perform, by a processor, two successive group by operation on the output if the query type is the SQL query including MDAs, or one group by operation on the output if the query type is the SQL query including the cube, rollup or grouping sets operations to generate a response to the query.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10180960B2 cover?
A method for query processing includes receiving a query, and determining a query type by determining if the query is a structured query language (SQL) query including multiple distinct aggregates (MDAs), or a SQL query including cube, rollup or grouping sets operations. Based on the determination, the method includes processing the query to generate an output, and performing a predetermined nu…
Who is the assignee on this patent?
Bear Charles Edward, Bodagala Sreenath, Fuller Matthew Steven, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F16/24553. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 15 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).