abhishekagarwal87 commented on code in PR #15058:
URL: https://github.com/apache/druid/pull/15058#discussion_r1345876941


##########
processing/src/main/java/org/apache/druid/query/dimension/PredicateFilteredDimensionSelector.java:
##########
@@ -82,7 +86,7 @@ public boolean matches()
           }
         }
         // null should match empty rows in multi-value columns
-        return nullRow && value == null;
+        return nullRow && (includeUnknown || value == null);

Review Comment:
   So if value is not null, an empty row MVD can match that value if 
includeUnknown is set to true? 



##########
extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/filter/BloomDimFilter.java:
##########
@@ -165,6 +165,12 @@ public boolean applyNull()
               }
             };
           }
+
+          @Override
+          public boolean isNullInputUnknown()

Review Comment:
   what does the name really mean here? 



##########
docs/querying/sql-data-types.md:
##########
@@ -157,9 +157,9 @@ runtime property controls Druid's boolean logic mode. For 
the most SQL compliant
 
 When `druid.expressions.useStrictBooleans = true`, Druid uses three-valued 
logic for

Review Comment:
   ```suggestion
   When `druid.expressions.useStrictBooleans = true`, Druid uses [three-valued 
logic](https://en.wikipedia.org/wiki/Three-valued_logic#SQL) for
   ```



##########
processing/src/main/java/org/apache/druid/query/filter/vector/ArrayVectorValueMatcher.java:
##########
@@ -78,7 +77,9 @@ public ReadableVectorMatch match(final ReadableVectorMatch 
mask)
         for (int i = 0; i < mask.getSelectionSize(); i++) {
           final int rowNum = mask.getSelection()[i];
           Object o = vector[rowNum];
-          if (o == null || o instanceof Object[]) {
+          if (includeUnknown && o == null && 
predicateFactory.isNullInputUnknown()) {
+            selection[numRows++] = rowNum;
+          } else if (o == null || o instanceof Object[]) {

Review Comment:
   ```suggestion
             } else if (o instanceof Object[]) {
   ```
   shouldn't it be the above? 



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to