Skip to content

Commit 2722631

Browse files
committed
multi-stage-explain: Add a comparator for lists of strings
1 parent 0b7b263 commit 2722631

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/PlanNodeSorter.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,21 @@ public int compare(PlanNode o1, PlanNode o2) {
211211
case STRING:
212212
cmp3 = value1.getString().compareTo(value2.getString());
213213
break;
214+
case STRINGLIST:
215+
List<String> list1 = value1.getStringList().getValuesList();
216+
List<String> list2 = value2.getStringList().getValuesList();
217+
cmp3 = 0;
218+
int min = Math.min(list1.size(), list2.size());
219+
for (int i = 0; i < min; i++) {
220+
cmp3 = list1.get(i).compareTo(list2.get(i));
221+
if (cmp3 != 0) {
222+
break;
223+
}
224+
}
225+
if (cmp3 != 0) {
226+
cmp3 = list1.size() - list2.size();
227+
}
228+
break;
214229
case VALUE_NOT_SET:
215230
cmp3 = 0;
216231
break;

0 commit comments

Comments
 (0)