gianm commented on a change in pull request #8822: optimize numeric column null 
value checking for low filter selectivity (more rows)
URL: https://github.com/apache/incubator-druid/pull/8822#discussion_r343319243
 
 

 ##########
 File path: 
processing/src/main/java/org/apache/druid/segment/vector/VectorSelectorUtils.java
 ##########
 @@ -47,14 +47,38 @@
       retVal = new boolean[offset.getMaxVectorSize()];
     }
 
-    // Probably not super efficient to call "get" so much, but, no worse than 
the non-vectorized version.
+    int nextNullRow = nullIterator.next();
     if (offset.isContiguous()) {
+      final int startOffset = offset.getStartOffset();
+      nullIterator.advanceIfNeeded(startOffset);
       for (int i = 0; i < offset.getCurrentVectorSize(); i++) {
-        retVal[i] = nullValueBitmap.get(i + offset.getStartOffset());
+        final int row = i + startOffset;
+        if (row == nextNullRow) {
+          retVal[i] = true;
+          if (nullIterator.hasNext()) {
+            nextNullRow = nullIterator.next();
+          } else {
+            break;
+          }
+        } else {
+          retVal[i] = false;
+        }
       }
     } else {
+      final int[] currentOffsets = offset.getOffsets();
+      nullIterator.advanceIfNeeded(currentOffsets[0]);
 
 Review comment:
   Same question.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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

Reply via email to