Author: catholicon
Date: Thu Apr 28 22:03:23 2016
New Revision: 1741533
URL: http://svn.apache.org/viewvc?rev=1741533&view=rev
Log:
OAK-4313: QueryImpl should avoid traversal with queries containing native
constraints (backport r1741343 from trunk)
Added:
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/query/NativeQueryTest.java
- copied unchanged from r1741343,
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/NativeQueryTest.java
Modified:
jackrabbit/oak/branches/1.4/ (props changed)
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/Cursors.java
Propchange: jackrabbit/oak/branches/1.4/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Apr 28 22:03:23 2016
@@ -1,3 +1,3 @@
/jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1733615,1733875,1733913,1734230,1734254,1735052,1735405,1735484,1735549,1735564,1735622,1735638,1735919,1735983,1736176,1737998,1738004,1738775,1738963,1740971,1741032,1741339
+/jackrabbit/oak/trunk:1733615,1733875,1733913,1734230,1734254,1735052,1735405,1735484,1735549,1735564,1735622,1735638,1735919,1735983,1736176,1737998,1738004,1738775,1738963,1740971,1741032,1741339,1741343
/jackrabbit/trunk:1345480
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/Cursors.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/Cursors.java?rev=1741533&r1=1741532&r2=1741533&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/Cursors.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/Cursors.java
Thu Apr 28 22:03:23 2016
@@ -241,6 +241,12 @@ public class Cursors {
NodeState parent = null;
NodeState node = rootState;
+ if (filter.containsNativeConstraint()) {
+ // OAK-4313: if no other index was found,
+ // then, for native queries, we won't match anything
+ return;
+ }
+
if (filter.isAlwaysFalse()) {
// nothing can match this filter, leave nodes empty
return;