Github user manishgupta88 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2654#discussion_r214055654
  
    --- Diff: 
processing/src/main/java/org/apache/carbondata/processing/store/CarbonFactDataHandlerModel.java
 ---
    @@ -320,12 +325,22 @@ public static CarbonFactDataHandlerModel 
getCarbonFactDataHandlerModel(CarbonLoa
         List<CarbonDimension> allDimensions = carbonTable.getDimensions();
         int dictDimCount = allDimensions.size() - 
segmentProperties.getNumberOfNoDictionaryDimension()
                 - segmentProperties.getComplexDimensions().size();
    +    CarbonColumn[] noDicAndComplexColumns =
    +        new 
CarbonColumn[segmentProperties.getNumberOfNoDictionaryDimension() + 
segmentProperties
    +            .getComplexDimensions().size()];
    +    int noDic = 0;
    +    int noDicAndComp = 0;
         for (CarbonDimension dim : allDimensions) {
           if (!dim.isComplex() && !dim.hasEncoding(Encoding.DICTIONARY) &&
               dim.getDataType() == DataTypes.VARCHAR) {
             // ordinal is set in 
CarbonTable.fillDimensionsAndMeasuresForTables()
             varcharDimIdxInNoDict.add(dim.getOrdinal() - dictDimCount);
           }
    +      if (!dim.hasEncoding(Encoding.DICTIONARY) || dim.isComplex() || null 
!= dim
    +          .getComplexParentDimension()) {
    +        noDicAndComplexColumns[noDicAndComp++] =
    --- End diff --
    
    Modify the if loop check to check only for dictionary encoding
    if (!dim.hasEncoding(Encoding.DICTIONARY))


---

Reply via email to