Class SimpleImmutableBitmapIndex

java.lang.Object
org.apache.druid.segment.index.SimpleBitmapColumnIndex
org.apache.druid.segment.index.SimpleImmutableBitmapIndex
All Implemented Interfaces:
BitmapColumnIndex

public final class SimpleImmutableBitmapIndex extends SimpleBitmapColumnIndex
SimpleBitmapColumnIndex which wraps a single ImmutableBitmap with no 'unknowns', e.g. computeBitmapResult(BitmapResultFactory, boolean) ignores the 'includeUnknown' argument.
  • Constructor Details

    • SimpleImmutableBitmapIndex

      public SimpleImmutableBitmapIndex(ImmutableBitmap bitmap)
  • Method Details

    • estimatedComputeCost

      public int estimatedComputeCost()
      Description copied from interface: BitmapColumnIndex
      Returns an estimated cost for computing the bitmap result. Generally this is equivalent to number of bitmap union or intersection operations need to be performed. E.x. null value index bitmap has a cost of 0, non-null value index bitmap union with null bitmap has a cost of 1, range (size of 10) scanning index bitmap union with null bitmap has a cost of 10.
    • computeBitmapResult

      public <T> T computeBitmapResult(BitmapResultFactory<T> bitmapResultFactory, boolean includeUnknown)
      Description copied from interface: BitmapColumnIndex
      Compute a bitmap result wrapped with the BitmapResultFactory representing the rows matched by this index. If building a cursor, use BitmapColumnIndex.computeBitmapResult(BitmapResultFactory, int, int, boolean) instead.
      Parameters:
      bitmapResultFactory - helper to format the ImmutableBitmap in a form ready for consumption by callers
      includeUnknown - mapping for Druid native two state logic system into SQL three-state logic system. If set to true, bitmaps returned by this method should include true bits for any rows where the matching result is 'unknown', such as from the input being null valued.
      Returns:
      bitmap result representing rows matched by this index