@Override
protected int compare(Tuple t1, Tuple t2) {
for (int i = 0; i < orderByColumns.size(); i++) {
OrderByExpression order = orderByColumns.get(i);
Expression orderExpr = order.getExpression();
boolean isNull1 = !orderExpr.evaluate(t1, ptr1) || ptr1.getLength() == 0;
boolean isNull2 = !orderExpr.evaluate(t2, ptr2) || ptr2.getLength() == 0;
if (isNull1 && isNull2) {
continue;
} else if (isNull1) {
return order.isNullsLast() ? 1 : -1;