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

    https://github.com/apache/carbondata/pull/3022#discussion_r244087077
  
    --- Diff: 
processing/src/main/java/org/apache/carbondata/processing/util/CarbonDataProcessorUtil.java
 ---
    @@ -699,4 +701,33 @@ public static boolean 
isRawDataRequired(CarbonDataLoadConfiguration configuratio
         return iterators;
       }
     
    +  public static int[] calcDimensionLengths(int numberOfSortColumns, int[] 
complexCardinality) {
    +    if (!(numberOfSortColumns > 0)) {
    +      for (int i = 0; i < complexCardinality.length; i++) {
    +        if (complexCardinality[i] != 0) {
    +          complexCardinality[i] = Integer.MAX_VALUE;
    +        }
    +      }
    +    }
    +    List<Integer> dimsLenList = new ArrayList<Integer>();
    +    for (int eachDimLen : complexCardinality) {
    +      if (eachDimLen != 0) dimsLenList.add(eachDimLen);
    +    }
    +    int[] dimLens = new int[dimsLenList.size()];
    +    for (int i = 0; i < dimsLenList.size(); i++) {
    +      dimLens[i] = dimsLenList.get(i);
    +    }
    +    return dimLens;
    +  }
    +
    +  public static KeyGenerator[] createKeyGeneratorForComplexDimension(int 
numberOfSortColumns,
    --- End diff --
    
    Add a method comment to explain the logic and method usage


---

Reply via email to