You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by al...@apache.org on 2012/08/09 10:55:14 UTC
svn commit: r1371097 - in /jackrabbit/trunk/jackrabbit-core/src:
main/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java
test/java/org/apache/jackrabbit/core/query/DescendantSelfAxisTest.java
Author: alexparvulescu
Date: Thu Aug 9 08:55:13 2012
New Revision: 1371097
URL: http://svn.apache.org/viewvc?rev=1371097&view=rev
Log:
JCR-3401 Wrong results when querying with a DescendantSelfAxisQuery
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/DescendantSelfAxisTest.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java?rev=1371097&r1=1371096&r2=1371097&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java Thu Aug 9 08:55:13 2012
@@ -517,7 +517,7 @@ class DescendantSelfAxisQuery extends Qu
return currentDoc;
}
- currentDoc = subScorer.nextDoc();
+ currentDoc = subScorer.advance(target);
if (currentDoc == NO_MORE_DOCS) {
return NO_MORE_DOCS;
} else {
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/DescendantSelfAxisTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/DescendantSelfAxisTest.java?rev=1371097&r1=1371096&r2=1371097&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/DescendantSelfAxisTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/DescendantSelfAxisTest.java Thu Aug 9 08:55:13 2012
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.core.query;
+import static org.apache.jackrabbit.JcrConstants.*;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
@@ -29,4 +30,23 @@ public class DescendantSelfAxisTest exte
String xpathNPE = "//element(*,nt:unstructured)[fn:lower-case(@jcr:language)='en']//element(*,nt:unstructured)[@jcr:message]/(@jcr:key|@jcr:message)";
executeXPathQuery(xpathNPE, new Node[] {});
}
+
+ /**
+ * JCR-3401 Wrong results when querying with a DescendantSelfAxisQuery
+ */
+ public void testNodeName() throws RepositoryException {
+ String name = "testNodeName" + System.currentTimeMillis();
+
+ Node foo = testRootNode.addNode("foo", NT_UNSTRUCTURED);
+ foo.addNode("branch1", NT_FOLDER).addNode(name, NT_FOLDER);
+ foo.addNode("branch2", NT_FOLDER).addNode(name, NT_FOLDER);
+ Node bar = testRootNode.addNode(name, NT_UNSTRUCTURED);
+
+ testRootNode.getSession().save();
+
+ executeXPathQuery("//element(*, nt:unstructured)[fn:name() = '" + name
+ + "']", new Node[] { bar });
+ executeXPathQuery("//element(" + name + ", nt:unstructured)",
+ new Node[] { bar });
+ }
}