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.


---

Reply via email to