odps-sdk-impl/odps-mapred-local/src/main/java/com/aliyun/odps/mapred/local/utils/LocalColumnBasedRecordComparator.java [78:105]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  public int compare(Object[] l, Object[] r) {
    int result = 0;
    int index = 0;
    for (int i : selIdxs) {
      if (r.length < i) {
        if (sortOrders != null && sortOrders[index] == SortOrder.DESC) {
          return 1;
        }
        return -1;
      }
      if (l.length < i) {
        if (sortOrders != null && sortOrders[index] == SortOrder.DESC) {
          return -1;
        }
        return 1;
      }
      result = compare(l[i], r[i], comparators[i]);
      if (result != 0) {
        if (sortOrders != null && sortOrders.length == selIdxs.length
            && sortOrders[index] == SortOrder.DESC) {
          return (0 - result);
        }
        return result;
      }
      index++;
    }
    return 0;
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



odps-sdk-impl/odps-mapred-bridge/src/main/java/com/aliyun/odps/mapred/bridge/type/ColumnBasedRecordComparator.java [86:113]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  public int compare(Object[] l, Object[] r) {
    int result = 0;
    int index = 0;
    for (int i : selIdxs) {
      if (r.length < i) {
        if (sortOrders != null && sortOrders[index] == SortOrder.DESC) {
          return 1;
        }
        return -1;
      }
      if (l.length < i) {
        if (sortOrders != null && sortOrders[index] == SortOrder.DESC) {
          return -1;
        }
        return 1;
      }
      result = compare(l[i], r[i], comparators[i]);
      if (result != 0) {
        if (sortOrders != null && sortOrders.length == selIdxs.length
            && sortOrders[index] == SortOrder.DESC) {
          return (0 - result);
        }
        return result;
      }
      index++;
    }
    return 0;
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



