Github user kevinjmh commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2767#discussion_r221117943
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/datamap/DataMapChooser.java ---
    @@ -177,34 +180,35 @@ private ExpressionTuple selectDataMap(Expression 
expression, List<TableDataMap>
               // If both left and right has datamap then we can either merge 
both datamaps to single
               // datamap if possible. Otherwise apply AND expression.
               if (left.dataMapExprWrapper != null && right.dataMapExprWrapper 
!= null) {
    -            filterExpressionTypes.add(
    -                
left.dataMapExprWrapper.getFilterResolverIntf().getFilterExpression()
    -                    .getFilterExpressionType());
    -            filterExpressionTypes.add(
    -                
right.dataMapExprWrapper.getFilterResolverIntf().getFilterExpression()
    -                    .getFilterExpressionType());
    +            filterExpressionTypes.addAll(left.filterExpressionTypes);
    +            filterExpressionTypes.addAll(right.filterExpressionTypes);
                 List<ColumnExpression> columnExpressions = new ArrayList<>();
                 columnExpressions.addAll(left.columnExpressions);
                 columnExpressions.addAll(right.columnExpressions);
                 // Check if we can merge them to single datamap.
                 TableDataMap dataMap =
                     chooseDataMap(allDataMap, columnExpressions, 
filterExpressionTypes);
    +            TrueConditionalResolverImpl resolver = new 
TrueConditionalResolverImpl(
    +                new AndExpression(left.expression, right.expression), 
false,
    +                true);
    --- End diff --
    
    so this resolver is used for re-organizing the required expressions?


---

Reply via email to