Author: thomasm
Date: Wed Dec 7 15:26:47 2016
New Revision: 1773097
URL: http://svn.apache.org/viewvc?rev=1773097&view=rev
Log:
OAK-5063 Failure in QueryTest.nodeType
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java?rev=1773097&r1=1773096&r2=1773097&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java
Wed Dec 7 15:26:47 2016
@@ -842,9 +842,24 @@ public class QueryTest extends AbstractR
assertPlan(getPlan(session, xpath), "[rep:User] as [a] /* traverse ");
- xpath = "/jcr:root//element(*,oak:Unstructured)[xyz/@jcr:primaryType]";
- assertPlan(getPlan(session, xpath), "[oak:Unstructured] as [a] /*
nodeType ");
+ xpath = "/jcr:root//element(*,oak:Unstructured)[xyz/@jcr:primaryType]
option(traversal fail)";
+ // the plan might still use traversal, so we can't just check the plan;
+ // but using "option(traversal fail)" we have ensured that there is an
index
+ // (the nodetype index) that can serve this query
+ getPlan(session, xpath);
+ // and without the node type index, it is supposed to fail
+ Node nodeTypeIndex =
session.getRootNode().getNode("oak:index").getNode("nodetype");
+ nodeTypeIndex.setProperty("declaringNodeTypes", new String[] {
+ }, PropertyType.NAME);
+ session.save();
+ try {
+ getPlan(session, xpath);
+ fail();
+ } catch (InvalidQueryException e) {
+ // expected
+ }
+
session.logout();
}