Execution of negated conditions using a bitmap

US9471634B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9471634-B2
Application numberUS-201414206531-A
CountryUS
Kind codeB2
Filing dateMar 12, 2014
Priority dateMar 12, 2014
Publication dateOct 18, 2016
Grant dateOct 18, 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.

Disclosed herein are system, method, and computer program product embodiments for accelerating database queries containing bitmap-based conditions. An embodiment operates by determining a bitmap, where the bitmap represents a set of rows that have satisfied a conjunct that precedes a negated condition in a query expression and restricting the evaluation of the negated condition to the set of rows represented by the bitmap.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method comprising: rewriting, by a processor, a condition as a negated condition based on a determination that a collective cost of the rewriting and a negation operation is less than a cost of executing the condition; determining, by the processor, a bitmap, wherein the bitmap represents a set of rows that have satisfied a conjunct that precedes the negated condition in a query expression, wherein the conjunct is a condition within a conjunction; and restricting, by the processor, evaluation of the negated condition to the set of rows represented by the bitmap. 2. The method of claim 1 , further comprising: determining a cost saving based on the restricting; and comparing, before performing the restricting, the cost saving against a cost of an additional bitmap operation. 3. The method of claim 1 , wherein the negated condition is a negation of a second condition, the restricting further comprising: restricting evaluation of the second condition to the set of rows represented by the bitmap before evaluating the negated condition. 4. The method of claim 1 , wherein the determining the bitmap comprises: dividing a total set of rows, on which the bitmap is determined, into a plurality of work-units; and determining a respective bitmap on each one of the plurality of work-units. 5. The method of claim 4 , wherein the restricting evaluation of the negated condition further comprises restricting evaluation of the negated condition to a set of rows represented by the respective bitmap on each one of the plurality of work-units. 6. The method of claim 5 , further comprising: producing a respective final bitmap result on each one of the plurality of work-units by intersecting the respective bitmap of the conjunct and the negated condition on each one of the plurality of work-units; and combining the respective final bitmap results to produce a final bitmap result. 7. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: rewrite a condition as a negated condition based on a determination that a collective cost of the rewriting and a negation operation is less than a cost of executing the condition; determine, a bitmap, wherein the bitmap represents a set of rows that have satisfied a conjunct that precedes the negated condition in a query expression, wherein the conjunct is a condition within a conjunction; and restrict evaluation of the negated condition to the set of rows represented by the bitmap. 8. The system of claim 7 , the at least one processor further configured to: determine a cost saving based on the restricting; and compare, before performing the restricting, the cost saving against a cost of an additional bitmap operation. 9. The system of claim 7 , wherein the negated condition is a negation of a second condition, and wherein to restrict evaluation the at least one processor is configured to: restrict evaluation of the second condition to the set of rows represented by the bitmap before evaluating the negated condition. 10. A non-transitory tangible computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising: rewriting a condition as a negated condition based on a determination that a collective cost of the rewriting and a negation operation is less than a cost of executing the condition; determining a bitmap, wherein the bitmap represents a set of rows that have satisfied a conjunct that precedes the negated condition in a query expression, wherein the conjunct is a condition within a conjunction; and restricting evaluation of the negated condition to the set of rows represented by the bitmap. 11. The non-transitory computer-readable device of claim 10 , the operations further comprising: determining a cost saving based on the restricting; comparing, before performing the restricting, the cost saving against a cost of an additional bitmap operation; and producing a final bitmap result by intersecting the bitmap of the conjunct and the negated condition after performing the restricting. 12. A computer implemented method comprising: rewriting, by a processor, a condition as a negated condition based on a determination that a collective cost of the rewriting and a negation operation is less than a cost of executing the condition; determining, by the processor, a satisfaction bitmap, wherein the satisfaction bitmap represents result of a disjunct that precedes the negated condition in a query expression, wherein the disjunct is a condition within a disjunction; and restricting, by the processor, evaluation of the negated condition to a set of rows that are not within the determined satisfaction bitmap. 13. The method of claim 12 , further comprising: determining a cost saving based on the restricting; and comparing, before performing the restricting, the cost saving against a cost of an additional bitmap operation. 14. The method of claim 12 , wherein the negated condition is a negation of a second condition, the restricting further comprising: restricting evaluation of the second condition to the set of rows that are not within the determined satisfaction bitmap before evaluating the negated condition. 15. The method of claim 12 , wherein the determining the satisfaction bitmap comprises: dividing a total set of rows, on which the satisfaction bitmap is determined, into a plurality of work-units; and determining a respective satisfaction bitmap on each one of the plurality of work-units. 16. The method of claim 15 , wherein the restricting evaluation of the negated condition further comprises restricting evaluation of the negated condition to a set of rows that are not within respective satisfaction bitmap on each one of the plurality of work-units. 17. The method of claim 16 , further comprising: producing a respective final bitmap result on each one of the plurality of work-units by performing disjunction between the respective bitmap of the disjunct and the negated condition on each one of the plurality of work-units; and combining the respective final bitmap results to produce a final bitmap result. 18. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: rewrite a condition as a negated condition based on a determination that a collective cost of the rewriting and a negation operation is less than a cost of executing the condition; determine a satisfaction bitmap, wherein the satisfaction bitmap represents result of a disjunct that precedes the negated condition in a query expression, wherein the disjunct is a condition within a disjunction; and restrict evaluation of the negated condition to a set of rows that are not within the determined satisfaction bitmap. 19. The system of claim 18 , the at least one processor further configured to: determine a cost saving based on the restricting; compare, before performing the restricting, the cost saving against a cost of an additional bitmap operation; and produce a final bitmap result by performing disjunction between the bitmap of the disjunct and the negated condition after performing the restricting. 20. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising: rewriting a condition as

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 US9471634B2 cover?
Disclosed herein are system, method, and computer program product embodiments for accelerating database queries containing bitmap-based conditions. An embodiment operates by determining a bitmap, where the bitmap represents a set of rows that have satisfied a conjunct that precedes a negated condition in a query expression and restricting the evaluation of the negated condition to the set of ro…
Who is the assignee on this patent?
Mittal Kaushal, Chavan Mahendra, Sybase Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30469. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 18 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).