richardstartin commented on a change in pull request #8411:
URL: https://github.com/apache/pinot/pull/8411#discussion_r837889234



##########
File path: 
pinot-core/src/main/java/org/apache/pinot/core/operator/filter/BaseFilterOperator.java
##########
@@ -40,4 +43,128 @@ public boolean isResultEmpty() {
   public boolean isResultMatchingAll() {
     return false;
   }
+
+  /**
+   * Returns {@code true} if the filter has an optimized count implementation.
+   */
+  public boolean canOptimizeCount() {
+    return false;
+  }
+
+  /**
+   * @return the number of matching docs, or throws if it cannot produce this 
count.
+   */
+  public int getNumMatchingDocs() {
+    throw new UnsupportedOperationException();
+  }
+
+  /**
+   * @return true if the filter operator can produce a bitmap of docIds
+   */
+  public boolean canProduceBitmaps() {
+    return false;
+  }
+
+  /**
+   * @return bitmaps of matching docIds
+   */
+  public BaseFilterOperator.BitmapCollection getBitmaps() {
+    throw new UnsupportedOperationException();
+  }
+
+  public static class BitmapCollection {
+    private final int _numDocs;
+    private boolean _inverted;
+    private final ImmutableRoaringBitmap[] _bitmaps;

Review comment:
       There's also good reasons not to, the different implementations aren't 
really unified, you can't call andCardinality etc. on a combination. It's 
better to keep mapped bitmaps as they are to avoid copying them.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to