Github user manishgupta88 commented on a diff in the pull request: https://github.com/apache/carbondata/pull/2654#discussion_r214341135 --- Diff: processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/IntermediateSortTempRowComparator.java --- @@ -45,18 +52,31 @@ public int compare(IntermediateSortTempRow rowA, IntermediateSortTempRow rowB) { int diff = 0; int dictIndex = 0; int nonDictIndex = 0; + int noDicTypeIdx = 0; for (boolean isNoDictionary : isSortColumnNoDictionary) { if (isNoDictionary) { - byte[] byteArr1 = rowA.getNoDictSortDims()[nonDictIndex]; - byte[] byteArr2 = rowB.getNoDictSortDims()[nonDictIndex]; - nonDictIndex++; + if (DataTypeUtil.isPrimitiveColumn(noDicSortDataTypes[noDicTypeIdx])) { + // use data types based comparator for the no dictionary measure columns + SerializableComparator comparator = org.apache.carbondata.core.util.comparator.Comparator --- End diff -- Increment the no dictionary type index here `noDicTypeIdx` in if block and not at the end
---