Executing conditions with negation operators in analytical databases

US10210223B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10210223-B2
Application numberUS-201514923690-A
CountryUS
Kind codeB2
Filing dateOct 27, 2015
Priority dateOct 27, 2015
Publication dateFeb 19, 2019
Grant dateFeb 19, 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.

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.

First claim

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

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 US10210223B2 cover?
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 …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/2456. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 19 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).