[HOTFIX]fixed loading issue for legacy store
fixed loading issue for legacy store
This closes #3170
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 d0b8b3c..1b5cfb5 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 @@
List<DimensionSpec> 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 @@
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 @@
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 @@
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()) {