Github user manishgupta88 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2654#discussion_r214341442
--- Diff:
processing/src/main/java/org/apache/carbondata/processing/sort/sortdata/NewRowComparator.java
---
@@ -43,15 +53,31 @@ public NewRowComparator(boolean[]
noDictionarySortColumnMaping) {
public int compare(Object[] rowA, Object[] rowB) {
int diff = 0;
int index = 0;
+ int dataTypeIdx = 0;
+ int noDicSortIdx = 0;
- for (boolean isNoDictionary : noDictionarySortColumnMaping) {
- if (isNoDictionary) {
- byte[] byteArr1 = (byte[]) rowA[index];
- byte[] byteArr2 = (byte[]) rowB[index];
+ for (int i = 0; i < noDicDimColMapping.length; i++) {
+ if (noDicDimColMapping[i]) {
+ if (noDicSortColumnMapping[noDicSortIdx++]) {
+ if (DataTypeUtil.isPrimitiveColumn(noDicDataTypes[dataTypeIdx]))
{
+ // use data types based comparator for the no dictionary
measure columns
+ SerializableComparator comparator =
--- End diff --
increment `dataTypeIdx` in if block and remove from method end
---