Author: catholicon
Date: Fri Nov 10 06:58:45 2017
New Revision: 1814821
URL: http://svn.apache.org/viewvc?rev=1814821&view=rev
Log:
OAK-6838: IS NOT NULL condition for relative properties not working as expected
revert r1814817 as it breaks
"org.apache.jackrabbit.oak.jcr.query.QueryTest.relativeNotExistsProperty[SegmentTar]"
Removed:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/PropertyInexistenceTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyInexistenceImpl.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyInexistenceImpl.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyInexistenceImpl.java?rev=1814821&r1=1814820&r2=1814821&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyInexistenceImpl.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyInexistenceImpl.java
Fri Nov 10 06:58:45 2017
@@ -32,8 +32,6 @@ import org.apache.jackrabbit.oak.query.i
* "child/propertyName"), then this requires that the given child node exists.
*/
public class PropertyInexistenceImpl extends ConstraintImpl {
- //OAK-6838
- private final boolean USE_OLD_INEXISTENCE_CHECK =
Boolean.getBoolean("oak.useOldInexistenceCheck");
private final String selectorName;
private final String propertyName;
@@ -65,7 +63,7 @@ public class PropertyInexistenceImpl ext
String name = PathUtils.getName(pn);
for (String p : PathUtils.elements(relativePath)) {
if (t == null || !t.exists()) {
- return !USE_OLD_INEXISTENCE_CHECK;
+ return false;
}
if (p.equals("..")) {
t = t.isRoot() ? null : t.getParent();
@@ -75,12 +73,7 @@ public class PropertyInexistenceImpl ext
t = t.getChild(p);
}
}
-
- if (USE_OLD_INEXISTENCE_CHECK) {
- return t != null && t.exists() && !t.hasProperty(name);
- } else {
- return t == null || !t.exists() || !t.hasProperty(name);
- }
+ return t != null && t.exists() && !t.hasProperty(name);
}
@Override