Repository: carbondata Updated Branches: refs/heads/master 476e6b2a5 -> c9f4388b6
[CARBONDATA-2886] Select Filter Compatibility from 1.3 to newer versions Problem : Select Filter Query with INT data type was showing incorrect result in case of table creation and loading on old version and queried on new version. The min max values in case of legacy table were not being updated properly so the check inside the blocklet was not happening. Solution : Correctly updated the min max values. This closes #2708 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/c9f4388b Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/c9f4388b Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/c9f4388b Branch: refs/heads/master Commit: c9f4388b6bbf3d44d8a198df3aa89e7cfdd43bc6 Parents: 476e6b2 Author: Manish Nalla <manishnalla1...@gmail.com> Authored: Tue Sep 11 14:08:33 2018 +0530 Committer: ravipesala <ravi.pes...@gmail.com> Committed: Mon Sep 17 17:49:14 2018 +0530 ---------------------------------------------------------------------- .../carbondata/core/scan/executor/impl/AbstractQueryExecutor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/carbondata/blob/c9f4388b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java index 83276e0..a419c02 100644 --- a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java +++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/AbstractQueryExecutor.java @@ -383,8 +383,9 @@ public abstract class AbstractQueryExecutor<E> implements QueryExecutor<E> { blockletInfo.getBlockletIndex().getMinMaxIndex().getMaxValues()); // update min and max values in case of old store for measures as min and max is written // opposite for measures in old store ( store <= 1.1 version) + byte[][] tempMaxValues = maxValues; maxValues = CarbonUtil.updateMinMaxValues(fileFooter, maxValues, minValues, false); - minValues = CarbonUtil.updateMinMaxValues(fileFooter, maxValues, minValues, true); + minValues = CarbonUtil.updateMinMaxValues(fileFooter, tempMaxValues, minValues, true); info.setDataBlockFromOldStore(true); } blockletInfo.getBlockletIndex().getMinMaxIndex().setMaxValues(maxValues);