Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BoundFilter optimizations, and related interface changes. #2727

Merged
merged 1 commit into from
Mar 27, 2016

Commits on Mar 25, 2016

  1. BoundFilter optimizations, and related interface changes.

    BoundFilter:
    
    - For lexicographic bounds, use bitmapIndex.getIndex to find the start and end points,
      then union all bitmaps between those points.
    - For alphanumeric bounds, iterate through dimValues, and union all bitmaps for values
      matching the predicate.
    - Change behavior for nulls: it used to be that the BoundFilter would never match nulls,
      now it matches nulls if "" is allowed by the lower limit and not excluded by the
      upper limit.
    
    Interface changes:
    
    - BitmapIndex: add `int getIndex(value)` to make it possible to get the index for a
      value without retrieving the bitmap.
    - BitmapIndex: remove `ImmutableBitmap getBitmap(value)`, change callers to `getBitmap(getIndex(value))`.
    - BitmapIndexSelector: allow retrieving the underlying BitmapIndex through getBitmapIndex.
    - Clarified contract of indexOf in Indexed, GenericIndexed.
    
    Also added tests for SelectorFilter, NotFilter, and BoundFilter.
    gianm committed Mar 25, 2016
    Configuration menu
    Copy the full SHA
    2970b49 View commit details
    Browse the repository at this point in the history