Accelerating queries using delayed value projection of enumerated storage

US9305080B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9305080-B2
Application numberUS-64661006-A
CountryUS
Kind codeB2
Filing dateDec 28, 2006
Priority dateDec 28, 2006
Publication dateApr 5, 2016
Grant dateApr 5, 2016

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 system, method, and computer program product for processing a database query are presented. Steps for identifying a table needed to resolve the query, creating an enumeration value, determining whether the enumeration value is semantically equivalent to data from a data field in the table, and using a temporary data structure to evaluate the query are disclosed.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving a query that references a column within a table, wherein a column cell from the column contains an enumeration value, and wherein the column is associated with a lookup-table configured to translate the enumeration value into a column cell value corresponding to the column cell; generating a set of query processing steps that, when executed by one or more processors, provides a query result to the query; passing a projection of the column containing the enumeration value to a query processing step from the set of query processing steps; determining, prior to executing the query processing step, that a partial result that is generated within the query processing step using the enumeration value instead of the column cell value does not change the partial result; executing, in response to the determination that the partial result does not change, the query processing step using the enumeration value to produce the partial result; and delaying, in response to the determination that the partial result does not change, a translation of the enumeration value into the column cell value during execution of the set of query processing steps by passing the projection of the column containing the enumeration value to a subsequent query processing step from the set of query processing steps, wherein the translation is delayed until determining that a subsequent partial result that is generated within the subsequent processing step using the enumeration value is different from the subsequent partial result generated using the column value. 2. The method of claim 1 , wherein the enumeration value is within a set of values defined by a data type. 3. The method of claim 1 , wherein the column cell is located within the column comprising additional column cells, each additional column cell containing an additional enumeration value, wherein the lookup-table is further configured to translate the additional enumeration value into an additional column cell value corresponding to the additional column cell. 4. The method of claim 1 , wherein the first query processing step is an earliest executed query processing step of the set of query processing steps that references the column. 5. The method of claim 1 , wherein the passing comprises: associating the enumeration value with an instance of a first evaluable class; and defining the lookup-table as an instance of a second evaluable class. 6. The method of claim 1 , further comprising: determining, prior to executing a next processing step from the set of processing steps, that a next partial result that is generated within the next query processing step using the enumeration value instead of the column cell value changes the next partial result, wherein the determination that the next partial result does change is performed based on the next query processing step, a data type of the column cell value, and a role of the column within the next query processing step; translating, in response to the determination that the next partial result does change, the enumeration value into the column cell value using the lookup table; and executing, in response to the determination that the next partial result does change, the next query processing step using the column cell value to produce the next partial result. 7. The method of claim 6 , wherein the translating the enumeration value into the column cell value using the lookup table comprises: retrieving the column cell value from the lookup-table using the enumeration value as a key. 8. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a computing device, cause the computing device to perform a method comprising: receiving a query that references a column within a table, wherein a column cell from the column contains an enumeration value, and wherein the column is associated with a lookup-table configured to translate the enumeration value into a column cell value corresponding to the column cell; generating a set of query processing steps that, when executed, provides a query result to the query; passing a projection of the column containing the enumeration value to a query processing step from the set of query processing steps; determining, prior to executing the query processing step, that a partial result that is generated within the query processing step using the enumeration value instead of the column cell value does not change the partial result; executing, in response to the determination that the partial result does not change, the query processing step using the enumeration value to produce the partial result; and delaying, in response to the determination that the partial result does not change, a translation of the enumeration value into the column cell value during execution of the set of query processing steps by passing the projection of the column containing the enumeration value to a subsequent query processing step from the set of query processing steps, wherein the translation is delayed until determining that a subsequent partial result that is generated within the subsequent processing step using the enumeration value is different from the subsequent partial result generated using the column value. 9. The non-transitory computer-readable storage medium of claim 8 , wherein the enumeration value is within a set of values defined by a data type. 10. The non-transitory computer-readable storage medium of claim 8 , wherein the column cell is located within the column comprising additional column cells, each additional column cell containing an additional enumeration value, wherein the lookup-table is further configured to translate the additional enumeration value into an additional column cell value corresponding to the additional column cell. 11. The non-transitory computer-readable storage medium of claim 8 , wherein the first query processing step is an earliest executed query processing step of the set of query processing steps which reference the column cell. 12. The non-transitory computer-readable storage medium of claim 8 , wherein the passing comprises: associating the enumeration value with an instance of a first evaluable class; and defining the lookup-table as an instance of a second evaluable class. 13. The non-transitory computer-readable storage medium of claim 8 , wherein the method further comprises: determining, prior to executing a next processing step from the set of processing steps, that a next partial result generated within the next query processing step using the enumeration value instead of the column cell value changes the next partial result, wherein the determination that the next partial result does change is performed based on a type of the next query processing step, a data type of the column cell value, and a role of the column within the next query processing step; translating, in response to the determination that the next partial result does change, the enumeration value into the column cell value using the lookup table; and executing, in response to the determination that the next partial result does change, the next query processing step using the column cell value to produce the next partial result. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the translating the enumeration value into the column cell value using the lookup table comprises: retrieving the column cell value from the lookup-table using the enumeration value as a key. 15. A system, comprising: a processor; and a memory to store instructions, wherein the

Assignees

Inventors

Classifications

  • G06F16/334Primary

    Query execution (filtering based on additional data G06F16/335) · CPC title

  • Physics · mapped topic

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 US9305080B2 cover?
A system, method, and computer program product for processing a database query are presented. Steps for identifying a table needed to resolve the query, creating an enumeration value, determining whether the enumeration value is semantically equivalent to data from a data field in the table, and using a temporary data structure to evaluate the query are disclosed.
Who is the assignee on this patent?
Kirk Steven A, Walrath David E, Yen Fang-Ying, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F16/334. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2016 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).