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

    https://github.com/apache/carbondata/pull/1810#discussion_r162288811
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMap.java
 ---
    @@ -598,16 +627,16 @@ public boolean isScanRequired(FilterResolverIntf 
filterExp) {
         if (filterExp == null) {
           int rowCount = unsafeMemoryDMStore.getRowCount();
           for (int i = 0; i < rowCount; i++) {
    -        DataMapRow unsafeRow = unsafeMemoryDMStore.getUnsafeRow(i);
    -        blocklets.add(createBlocklet(unsafeRow, i));
    +        DataMapRow safeRow = 
unsafeMemoryDMStore.getUnsafeRow(i).convertToSafeRow();
    +        blocklets.add(createBlocklet(safeRow, i));
           }
         } else {
           int startIndex = findStartIndex(convertToRow(searchStartKey), 
comparator);
           int endIndex = findEndIndex(convertToRow(searchEndKey), comparator);
           FilterExecuter filterExecuter =
               FilterUtil.getFilterExecuterTree(filterExp, segmentProperties, 
null);
           while (startIndex <= endIndex) {
    -        DataMapRow unsafeRow = 
unsafeMemoryDMStore.getUnsafeRow(startIndex);
    +        DataMapRow unsafeRow = 
unsafeMemoryDMStore.getUnsafeRow(startIndex).convertToSafeRow();
    --- End diff --
    
    ok


---

Reply via email to