Rearranging search operators
US-9779136-B2 · Oct 3, 2017 · US
US10210223B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10210223-B2 |
| Application number | US-201514923690-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 27, 2015 |
| Priority date | Oct 27, 2015 |
| Publication date | Feb 19, 2019 |
| Grant date | Feb 19, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the present invention provide a method and system for processing a query on a set of data blocks in analytical databases. The query is on a set of data blocks, having at least one attribute and specifies at least one selection condition on the attribute. The selection condition is associated with at least one selection expression. Attribute value information on each attribute is generated for each data block. Next, a condition is generated on each attribute to negate the selection expression, if the selection expression has a negation operator. Additional conditions are generated for each selection expression that does not contain a negation operation. The attribute value is used to select the positive and negative subsets of data blocks for each condition. Next, a negative subset that does not require processing to evaluate the query is skipped and the positive subsets and the non-skipped negative subsets are processed.
Opening claim text (preview).
What is claimed is: 1. A computer program product comprising: a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising: program instructions to receive a set of data blocks and a query, wherein the set of data blocks comprises at least one attribute and, wherein the query specifies a selection condition on the at least one attribute, wherein the selection condition comprises at least one selection expression; program instructions to generate an attribute value information on the at least one attribute, for each data block of the set of data blocks; program instructions to generate a first condition on the at least one attribute, wherein the first condition negates each selection expression of the at least one selection expression, when the selection expression comprises a negation operator; program instructions to generate a first set of conditions that comprises the generated first condition on the at least one attribute, and each of the at least one selection expression that does not comprise a negation operator; program instructions to select a positive subset of data blocks, of the set of data blocks, for each condition of the first set of conditions, wherein the positive subset of data blocks, of the set of data blocks satisfies a condition of the first set of conditions, using the attribute value information; program instructions to select a negative subset of data blocks, of the set of data blocks, for each condition of the first set of conditions, wherein the negative subset of data blocks, of the set of data blocks does not satisfies a condition of the first set of conditions, using the attribute value information; program instructions to determine a skipped portion of the negative subsets of the data blocks, using the selection condition, and a non-skipped portion of the negative subsets of the data blocks, using the selection condition; program instructions to generate result data, wherein the generated result data comprises: program instructions to process the positive subset of the data blocks; and program instructions to process the negative portion non-skipped portion of the negative subsets of the data blocks. 2. The computer program product of claim 1 , wherein the program instructions to receive the selection condition further comprises: program instructions to receive a conjunction of a first selection expression and a second selection expression, wherein the first selection expression comprises a first negation operator, and wherein the second selection expression comprises a second negation operator; and program instructions to determine a skipped portion of the data blocks, wherein the skipped portion of the data blocks comprises selecting common data blocks of a first negative subset of data blocks and selecting common data blocks of a second negative subset of data blocks. 3. The computer program product of claim 1 , wherein the program instructions to receive the selection condition further comprises: program instructions to receive a conjunction of a first selection expression and a second selection expression, wherein the first selection expression comprises a positive operator, and wherein the second selection expression comprises a first negative; and program instructions to determine the skipped portion of the data blocks, wherein the skipped portion of the data blocks comprises a first negative subset of data blocks. 4. The computer program product of claim 1 , wherein the program instructions to receive the selection condition further comprises: program instructions to receive a disjunction of a first selection expression and a second selection expression, wherein the first selection expression comprises a first negation operator, and wherein the second selection expression comprises a second negation operator; and program instructions to determine the skipped portion of the data blocks, wherein the skipped portion of the data blocks comprises first negative subset of data blocks and the second negative subset of data blocks. 5. The computer program product of claim 1 , wherein the program instructions to receive the selection condition further comprises: program instructions to receive a conjunction of a first selection expression and a second selection expression, wherein the first selection expression comprises a positive operator, and wherein the second selection expression comprises a first negative; and program instructions to determine the skipped portion of the data blocks, wherein the skipped portion of the data blocks comprises the second negative subset of data blocks. 6. The computer program product of claim 1 , wherein the program instructions to generate the attribute value information further comprises: program instructions to generate a multi-dimensional data structure, wherein the multi-dimensional data structure represents the set of data blocks; and program instructions to add a data element, for each data block of the set of data blocks, into the multi-dimensional data structure, wherein the data element comprises multiple values associated with the attribute. 7. A computer system comprising: one or more computer processors; one or more computer readable storage media; program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to receive a set of data blocks and a query, wherein the set of data blocks comprises at least one attribute and, wherein the query specifies a selection condition on the at least one attribute, wherein the selection condition comprises at least one selection expression; program instructions to generate an attribute value information on the at least one attribute, for each data block of the set of data blocks; program instructions to generate a first condition on the at least one attribute, wherein the first condition negates each selection expression of the at least one selection expression, when the selection expression comprises a negation operator; program instructions to generate a first set of conditions that comprises the generated first condition on the at least one attribute, and each of the at least one selection expression that does not comprise a negation operator; program instructions to select a positive subset of data blocks, of the set of data blocks, for each condition of the first set of conditions, wherein the positive subset of data blocks, of the set of data blocks satisfies a condition of the first set of conditions, using the attribute value information; program instructions to select a negative subset of data blocks, of the set of data blocks, for each condition of the first set of conditions, wherein the negative subset of data blocks, of the set of data blocks does not satisfies a condition of the first set of conditions, using the attribute value information; program instructions to determine a skipped portion of the negative subsets of the data blocks, using the selection condition, and a non-skipped portion of the negative subsets of the data blocks, using the selection condition; and program instructions to generate result data, wherein the generated result data comprises: program instructions to process the positive subset of the data blocks; and program instructions to process the negative portion non-skipped portion of the negative subsets of the data blocks. 8. The computer system of claim 7 , wherein the program instructions to receive the selection condition further comprises: program instructions to receive a conjunction of a first selection expression and a second selection expressi
Data partitioning, e.g. horizontal or vertical partitioning · CPC title
Join operations · CPC title
of operators · CPC title
Presentation of query results · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.