carbondata git commit: [CARBONDATA-2199] Fixed Dimension column after restructure getting wrong block datatype
Repository: carbondata Updated Branches: refs/heads/master 4ba51e229 -> 5da6433db [CARBONDATA-2199] Fixed Dimension column after restructure getting wrong block datatype Problem: Changing datatype of measure having sort_columns calls for restructure and after having restructure it changes the datatype to actual datatype for which accessing the data with changed datatype gives exception of incorrect length. Solution: Store the datatype in DimensionInfo while restructuring and access the same datatype to get the block data type. This closes #1993 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/5da6433d Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/5da6433d Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/5da6433d Branch: refs/heads/master Commit: 5da6433dbe5ba810b631da267159dc7ddf4f3064 Parents: 4ba51e2 Author: Jatin Authored: Fri Feb 23 16:56:17 2018 +0530 Committer: ravipesala Committed: Wed Feb 28 09:44:58 2018 +0530 -- .../DictionaryBasedVectorResultCollector.java | 2 +- .../executor/impl/AbstractQueryExecutor.java| 2 +- .../core/scan/executor/infos/DimensionInfo.java | 6 ++ .../scan/executor/util/RestructureUtil.java | 10 ++- .../scan/executor/util/RestructureUtilTest.java | 7 +- .../DBLocationCarbonTableTestCase.scala | 82 .../vectorreader/ChangeDataTypeTestCases.scala | 8 ++ 7 files changed, 113 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/carbondata/blob/5da6433d/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java b/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java index 5e6c99a..e9d6740 100644 --- a/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java +++ b/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java @@ -183,7 +183,7 @@ public class DictionaryBasedVectorResultCollector extends AbstractScannedResultC allColumnInfo[i].vector = columnarBatch.columnVectors[i]; if (null != allColumnInfo[i].dimension) { allColumnInfo[i].vector - .setBlockDataType(allColumnInfo[i].dimension.getDimension().getDataType()); +.setBlockDataType(dimensionInfo.dataType[i]); } } } http://git-wip-us.apache.org/repos/asf/carbondata/blob/5da6433d/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 cc2e513..69f5ceb 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 @@ -303,7 +303,7 @@ public abstract class AbstractQueryExecutor implements QueryExecutor { List currentBlockQueryDimensions = RestructureUtil .createDimensionInfoAndGetCurrentBlockQueryDimension(blockExecutionInfo, queryModel.getQueryDimension(), tableBlockDimensions, -segmentProperties.getComplexDimensions()); +segmentProperties.getComplexDimensions(), queryModel.getQueryMeasures().size()); blockExecutionInfo.setBlockId( CarbonUtil.getBlockId(queryModel.getAbsoluteTableIdentifier(), filePath, segmentId)); blockExecutionInfo.setDeleteDeltaFilePath(deleteDeltaFiles); http://git-wip-us.apache.org/repos/asf/carbondata/blob/5da6433d/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java index dd0c549..b41de82 100644 --- a/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java +++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java @@ -17,6 +17,8 @@ package org.apache.carbondata.core.scan.executor.infos; +import org.apache.carbondata.core.metadata.datatype.DataType; + /** * This method will information about the query dimensions whether they exist in particular
carbondata git commit: [CARBONDATA-2199] Fixed Dimension column after restructure getting wrong block datatype
Repository: carbondata Updated Branches: refs/heads/branch-1.3 1997ca235 -> b51d8186a [CARBONDATA-2199] Fixed Dimension column after restructure getting wrong block datatype Problem: Changing datatype of measure having sort_columns calls for restructure and after having restructure it changes the datatype to actual datatype for which accessing the data with changed datatype gives exception of incorrect length. Solution: Store the datatype in DimensionInfo while restructuring and access the same datatype to get the block data type. This closes #1993 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/b51d8186 Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/b51d8186 Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/b51d8186 Branch: refs/heads/branch-1.3 Commit: b51d8186a82818672067dfd0387af6ff505f940c Parents: 1997ca2 Author: Jatin Authored: Fri Feb 23 16:56:17 2018 +0530 Committer: ravipesala Committed: Wed Feb 28 09:47:17 2018 +0530 -- .../DictionaryBasedVectorResultCollector.java | 2 +- .../executor/impl/AbstractQueryExecutor.java| 2 +- .../core/scan/executor/infos/DimensionInfo.java | 6 ++ .../scan/executor/util/RestructureUtil.java | 10 ++- .../scan/executor/util/RestructureUtilTest.java | 7 +- .../DBLocationCarbonTableTestCase.scala | 82 .../vectorreader/ChangeDataTypeTestCases.scala | 8 ++ 7 files changed, 113 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/carbondata/blob/b51d8186/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java b/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java index 5e6c99a..e9d6740 100644 --- a/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java +++ b/core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedVectorResultCollector.java @@ -183,7 +183,7 @@ public class DictionaryBasedVectorResultCollector extends AbstractScannedResultC allColumnInfo[i].vector = columnarBatch.columnVectors[i]; if (null != allColumnInfo[i].dimension) { allColumnInfo[i].vector - .setBlockDataType(allColumnInfo[i].dimension.getDimension().getDataType()); +.setBlockDataType(dimensionInfo.dataType[i]); } } } http://git-wip-us.apache.org/repos/asf/carbondata/blob/b51d8186/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 cc2e513..69f5ceb 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 @@ -303,7 +303,7 @@ public abstract class AbstractQueryExecutor implements QueryExecutor { List currentBlockQueryDimensions = RestructureUtil .createDimensionInfoAndGetCurrentBlockQueryDimension(blockExecutionInfo, queryModel.getQueryDimension(), tableBlockDimensions, -segmentProperties.getComplexDimensions()); +segmentProperties.getComplexDimensions(), queryModel.getQueryMeasures().size()); blockExecutionInfo.setBlockId( CarbonUtil.getBlockId(queryModel.getAbsoluteTableIdentifier(), filePath, segmentId)); blockExecutionInfo.setDeleteDeltaFilePath(deleteDeltaFiles); http://git-wip-us.apache.org/repos/asf/carbondata/blob/b51d8186/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java -- diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java index dd0c549..b41de82 100644 --- a/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java +++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/infos/DimensionInfo.java @@ -17,6 +17,8 @@ package org.apache.carbondata.core.scan.executor.infos; +import org.apache.carbondata.core.metadata.datatype.DataType; + /** * This method will information about the query dimensions whether they exist in par