soumyava commented on code in PR #15101:
URL: https://github.com/apache/druid/pull/15101#discussion_r1349338273


##########
processing/src/main/java/org/apache/druid/segment/UnnestStorageAdapter.java:
##########
@@ -322,19 +322,17 @@ to generate filters to be passed to base cursor 
(filtersPushedDownToBaseCursor)
         // outside filter contains unnested column
         // requires check for OR and And filters, disqualify rewrite for 
non-unnest filters
         if (queryFilter instanceof BooleanFilter) {
-          boolean isTopLevelAndFilter = queryFilter instanceof AndFilter;
           List<Filter> preFilterList = recursiveRewriteOnUnnestFilters(
               (BooleanFilter) queryFilter,
               inputColumn,
               inputColumnCapabilites,
-              filterSplitter,
-              isTopLevelAndFilter
+              filterSplitter
           );
           // If rewite on entire query filter is successful then add entire 
filter to preFilter else skip and only add to post filter.
-          if (filterSplitter.getPreFilterCount() == 
filterSplitter.getOriginalFilterCount()) {
+          if (!preFilterList.isEmpty()) {
             if (queryFilter instanceof AndFilter) {
               filterSplitter.addPreFilter(new AndFilter(preFilterList));
-            } else if (queryFilter instanceof OrFilter) {
+            } else if (queryFilter instanceof OrFilter && 
filterSplitter.getPreFilterCount() == filterSplitter.getOriginalFilterCount()) {

Review Comment:
   Nit. we can put a comment with an example here like if query is like
   ```
   select * from table, UNNEST(MV_TO_ARRAY(dim3)) as u(d3) where m1=1 OR d3='a'
   ```
   The pre filter after rewrite will be like `m1=1 OR dim3='a'` and the count 
of clauses in the original and pre filter matching means a successful rewrite. 
We can also highlight how is this for AND



-- 
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