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

    https://github.com/apache/carbondata/pull/1624#discussion_r155234625
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMap.java
 ---
    @@ -269,6 +302,47 @@ private DataMapRow addMinMax(int[] minMaxLen, 
CarbonRowSchema carbonRowSchema,
         return minRow;
       }
     
    +  /**
    +   * This method will compute min/max values at task level
    +   *
    +   * @param taskMinMaxRow
    +   * @param minMaxLen
    +   * @param carbonRowSchema
    +   * @param minMaxValue
    +   * @param ordinal
    +   * @param isMinValueComparison
    +   */
    +  private void addTaskMinMaxValues(DataMapRow taskMinMaxRow, int[] 
minMaxLen,
    +      CarbonRowSchema carbonRowSchema, byte[][] minMaxValue, int ordinal,
    +      boolean isMinValueComparison) {
    +    DataMapRow row = taskMinMaxRow.getRow(ordinal);
    +    byte[][] updatedMinMaxValues = minMaxValue;
    +    if (null == row) {
    +      CarbonRowSchema[] minSchemas =
    +          ((CarbonRowSchema.StructCarbonRowSchema) 
carbonRowSchema).getChildSchemas();
    +      row = new DataMapRowImpl(minSchemas);
    +    } else {
    +      byte[][] existingMinMaxValues = getMinMaxValue(taskMinMaxRow, 
ordinal);
    +      // Compare and update min max values
    +      SerializableComparator comparator =
    --- End diff --
    
    I think you can use `UnsafeComparer.compare`


---

Reply via email to