diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java index 595ec98efc..e5cca39bdf 100644 --- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java +++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java @@ -592,18 +592,15 @@ public class QueryImpl implements Query { OrderEntry e = list.get(i); OrderingImpl o = orderings[i]; DynamicOperandImpl op = o.getOperand(); - if (!(op instanceof PropertyValueImpl)) { - // ordered by a function: currently not supported - canSortByIndex = false; - break; - } // we only have one selector, so no need to check that // TODO support joins - String pn = ((PropertyValueImpl) op).getPropertyName(); - if (!pn.equals(e.getPropertyName())) { - // ordered by another property - canSortByIndex = false; - break; + if (op instanceof PropertyValueImpl) { + String pn = ((PropertyValueImpl) op).getPropertyName(); + if (!pn.equals(e.getPropertyName())) { + // ordered by another property + canSortByIndex = false; + break; + } } if (o.isDescending() != (e.getOrder() == Order.DESCENDING)) { // ordered ascending versus descending