Github user manishgupta88 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2550#discussion_r204981714
--- Diff:
core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java
---
@@ -239,36 +249,34 @@ private void readAndFillBlockletInfo(Map filePathToFileF
// fill the info only for given blockletId in detailInfo
BlockletInfo blockletInfo =
blockletList.get(blockletDetailInfo.getBlockletId());
fillBlockletInfoToTableBlock(tableBlockInfos, blockInfo,
blockletDetailInfo, fileFooter,
- blockletInfo, blockletDetailInfo.getBlockletId());
+ blockletInfo, blockletDetailInfo.getBlockletId(),
segmentProperties);
} else {
short count = 0;
for (BlockletInfo blockletInfo : blockletList) {
fillBlockletInfoToTableBlock(tableBlockInfos, blockInfo,
blockletDetailInfo, fileFooter,
-blockletInfo, count);
+blockletInfo, count, segmentProperties);
count++;
}
}
}
private void fillBlockletInfoToTableBlock(List
tableBlockInfos,
TableBlockInfo blockInfo, BlockletDetailInfo blockletDetailInfo,
DataFileFooter fileFooter,
- BlockletInfo blockletInfo, short blockletId) {
+ BlockletInfo blockletInfo, short blockletId, SegmentProperties
segmentProperties) {
TableBlockInfo info = blockInfo.copy();
BlockletDetailInfo detailInfo = info.getDetailInfo();
// set column schema details
detailInfo.setColumnSchemas(fileFooter.getColumnInTable());
detailInfo.setRowCount(blockletInfo.getNumberOfRows());
-byte[][] maxValues =
blockletInfo.getBlockletIndex().getMinMaxIndex().getMaxValues();
-byte[][] minValues =
blockletInfo.getBlockletIndex().getMinMaxIndex().getMinValues();
+byte[][] minValues =
BlockletDataMapUtil.updateMinValues(segmentProperties,
+blockletInfo.getBlockletIndex().getMinMaxIndex().getMinValues());
+byte[][] maxValues =
BlockletDataMapUtil.updateMaxValues(segmentProperties,
+blockletInfo.getBlockletIndex().getMinMaxIndex().getMaxValues());
--- End diff --
Move this code inside isLegacyStore check
---