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
---