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