private void fillBlockletInfoToTableBlock(List<TableBlockInfo> tableBlockInfos,
TableBlockInfo blockInfo, BlockletDetailInfo blockletDetailInfo, DataFileFooter fileFooter,
BlockletInfo blockletInfo, short blockletId, SegmentProperties segmentProperties) {
TableBlockInfo info = blockInfo.copy();
BlockletDetailInfo detailInfo = info.getDetailInfo();
detailInfo.setColumnSchemas(fileFooter.getColumnInTable());
detailInfo.setRowCount(blockletInfo.getNumberOfRows());
byte[][] maxValues = blockletInfo.getBlockletIndex().getMinMaxIndex().getMaxValues();
byte[][] minValues = blockletInfo.getBlockletIndex().getMinMaxIndex().getMinValues();
if (blockletDetailInfo.isLegacyStore()) {
minValues = BlockletDataMapUtil.updateMinValues(segmentProperties,
blockletInfo.getBlockletIndex().getMinMaxIndex().getMinValues());
maxValues = BlockletDataMapUtil.updateMaxValues(segmentProperties,
blockletInfo.getBlockletIndex().getMinMaxIndex().getMaxValues());
byte[][] tempMaxValues = maxValues;
maxValues = CarbonUtil.updateMinMaxValues(fileFooter, maxValues, minValues, false);
minValues = CarbonUtil.updateMinMaxValues(fileFooter, tempMaxValues, minValues, true);
info.setDataBlockFromOldStore(true);
}
blockletInfo.getBlockletIndex().getMinMaxIndex().setMaxValues(maxValues);
blockletInfo.getBlockletIndex().getMinMaxIndex().setMinValues(minValues);
detailInfo.setBlockletInfo(blockletInfo);
detailInfo.setBlockletId(blockletId);
detailInfo.setPagesCount((short) blockletInfo.getNumberOfPages());
tableBlockInfos.add(info);
}