Github user kunal642 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2815#discussion_r225784603
--- Diff:
core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/dimension/v3/CompressedDimensionChunkFileBasedReaderV3.java
---
@@ -245,22 +253,43 @@ protected DimensionColumnPage
decodeDimension(DimensionRawColumnChunk rawColumnP
ColumnPage decodedPage = decodeDimensionByMeta(pageMetadata,
pageData, offset,
null != rawColumnPage.getLocalDictionary());
decodedPage.setNullBits(QueryUtil.getNullBitSet(pageMetadata.presence,
this.compressor));
- int[] invertedIndexes = new int[0];
- int[] invertedIndexesReverse = new int[0];
- // in case of no dictionary measure data types, if it is included in
sort columns
- // then inverted index to be uncompressed
- if (encodings.contains(Encoding.INVERTED_INDEX)) {
- offset += pageMetadata.data_page_length;
- if (CarbonUtil.hasEncoding(pageMetadata.encoders,
Encoding.INVERTED_INDEX)) {
- invertedIndexes = CarbonUtil
- .getUnCompressColumnIndex(pageMetadata.rowid_page_length,
pageData, offset);
- // get the reverse index
- invertedIndexesReverse =
CarbonUtil.getInvertedReverseIndex(invertedIndexes);
+ ColumnType columnType = decodedPage.getColumnSpec().getColumnType();
+ if (ColumnType.COMPLEX_ARRAY == columnType ||
ColumnType.COMPLEX_STRUCT == columnType
+ || ColumnType.COMPLEX_PRIMITIVE == columnType ||
ColumnType.COMPLEX == columnType) {
--- End diff --
"ColumnType.COMPLEX == columnType" is enought to check for complex column,
"ColumnType.COMPLEX_ARRAY == columnType || ColumnType.COMPLEX_STRUCT ==
columnType" is not required.
---