Github user manishgupta88 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/1810#discussion_r162253805
--- 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 --
Please rename this variable also to safeRow
---