if (selectItem != null) {
return selectItem;
}
}
final ColumnType expectedColumnType = leftSelectItem.getExpectedColumnType();
final Object result;
if (expectedColumnType == null) {
// We're assuming number here, but it could also be boolean or a
// time based type. But anyways, this should not happen since
// expected column type should be available.
result = NumberComparator.toNumber(token);
} else if (expectedColumnType.isBoolean()) {
result = BooleanComparator.toBoolean(token);
} else if (expectedColumnType.isTimeBased()) {
result = FormatHelper.parseSqlTime(expectedColumnType, token);
} else {
result = NumberComparator.toNumber(token);
}