Github user ravipesala commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2819#discussion_r226863615
--- Diff:
core/src/main/java/org/apache/carbondata/core/datastore/chunk/store/impl/LocalDictDimensionDataChunkStore.java
---
@@ -49,6 +51,29 @@ public void putArray(int[] invertedIndex, int[]
invertedIndexReverse, byte[] dat
this.dimensionDataChunkStore.putArray(invertedIndex,
invertedIndexReverse, data);
}
+ @Override
+ public void fillVector(int[] invertedIndex, int[] invertedIndexReverse,
byte[] data,
+ ColumnVectorInfo vectorInfo) {
+ int columnValueSize = dimensionDataChunkStore.getColumnValueSize();
+ int rowsNum = data.length / columnValueSize;
+ CarbonColumnVector vector = vectorInfo.vector;
+ if (!dictionary.isDictionaryUsed()) {
+ vector.setDictionary(dictionary);
+ dictionary.setDictionaryUsed();
+ }
+ for (int i = 0; i < rowsNum; i++) {
+ int surrogate = CarbonUtil.getSurrogateInternal(data, i *
columnValueSize, columnValueSize);
+ if (surrogate ==
CarbonCommonConstants.MEMBER_DEFAULT_VAL_SURROGATE_KEY) {
+ vector.putNull(i);
+ vector.getDictionaryVector().putNull(i);
+ } else {
+ vector.putNotNull(i);
+ vector.getDictionaryVector().putInt(i, surrogate);
--- End diff --
it is as per old code, will check feasible
---