From 7f05e6948e80ab5308884775fa97cf45a4bfca8e Mon Sep 17 00:00:00 2001 From: akashrn5 Date: Fri, 29 Mar 2019 21:07:39 +0530 Subject: [PATCH] [HOTFIX]fixed loading issue for legacy store fixed loading issue for legacy store This closes #3170 --- .../apache/carbondata/core/datastore/TableSpec.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/TableSpec.java b/core/src/main/java/org/apache/carbondata/core/datastore/TableSpec.java index d0b8b3c321d..1b5cfb54df1 100644 --- a/core/src/main/java/org/apache/carbondata/core/datastore/TableSpec.java +++ b/core/src/main/java/org/apache/carbondata/core/datastore/TableSpec.java @@ -84,19 +84,20 @@ private void addDimensions(List dimensions) { List dictDimensionSpec = new ArrayList<>(); int dimIndex = 0; DimensionSpec spec; - short actualPosition = 0; + short dictActualPosition = 0; + short noDictActualPosition = 0; // sort step's output is based on sort column order i.e sort columns data will be present // ahead of non sort columns, so table spec also need to add dimension spec in same manner for (int i = 0; i < dimensions.size(); i++) { CarbonDimension dimension = dimensions.get(i); if (dimension.isComplex()) { - spec = new DimensionSpec(ColumnType.COMPLEX, dimension, actualPosition++); + spec = new DimensionSpec(ColumnType.COMPLEX, dimension, noDictActualPosition++); dimensionSpec[dimIndex++] = spec; noDictionaryDimensionSpec.add(spec); noSortNoDictDimSpec.add(spec); } else if (dimension.getDataType() == DataTypes.TIMESTAMP && !dimension .isDirectDictionaryEncoding()) { - spec = new DimensionSpec(ColumnType.PLAIN_VALUE, dimension, actualPosition++); + spec = new DimensionSpec(ColumnType.PLAIN_VALUE, dimension, noDictActualPosition++); dimensionSpec[dimIndex++] = spec; noDictionaryDimensionSpec.add(spec); if (dimension.isSortColumn()) { @@ -105,7 +106,7 @@ private void addDimensions(List dimensions) { noSortNoDictDimSpec.add(spec); } } else if (dimension.isDirectDictionaryEncoding()) { - spec = new DimensionSpec(ColumnType.DIRECT_DICTIONARY, dimension, actualPosition++); + spec = new DimensionSpec(ColumnType.DIRECT_DICTIONARY, dimension, dictActualPosition++); dimensionSpec[dimIndex++] = spec; dictDimensionSpec.add(spec); if (dimension.isSortColumn()) { @@ -114,7 +115,7 @@ private void addDimensions(List dimensions) { noSortDictDimSpec.add(spec); } } else if (dimension.isGlobalDictionaryEncoding()) { - spec = new DimensionSpec(ColumnType.GLOBAL_DICTIONARY, dimension, actualPosition++); + spec = new DimensionSpec(ColumnType.GLOBAL_DICTIONARY, dimension, dictActualPosition++); dimensionSpec[dimIndex++] = spec; dictDimensionSpec.add(spec); if (dimension.isSortColumn()) { @@ -123,7 +124,7 @@ private void addDimensions(List dimensions) { noSortDictDimSpec.add(spec); } } else { - spec = new DimensionSpec(ColumnType.PLAIN_VALUE, dimension, actualPosition++); + spec = new DimensionSpec(ColumnType.PLAIN_VALUE, dimension, noDictActualPosition++); dimensionSpec[dimIndex++] = spec; noDictionaryDimensionSpec.add(spec); if (dimension.isSortColumn()) {