Index: oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/ComparisonImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/ComparisonImpl.java (date 1415537749000) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/ComparisonImpl.java (revision ) @@ -188,6 +188,7 @@ pattern = v.getValue(Type.STRING); LikePattern p = new LikePattern(pattern); String lowerBound = p.getLowerBound(); + // Optimization for foo* if (lowerBound != null) { String upperBound = p.getUpperBound(); if (lowerBound.equals(upperBound)) { @@ -206,6 +207,9 @@ // path conditions operand1.restrict(f, operator, v); } + } else { + // for cases *foo and *foo* + operand1.restrict(f, operator, v); } } else { operand1.restrict(f, operator, v);