carbondata git commit: [CARBONDATA-2199] Fixed Dimension column after restructure getting wrong block datatype

2018-02-27 Thread ravipesala
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

2018-02-27 Thread ravipesala
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