Author: thomasm
Date: Tue Feb 11 10:23:20 2014
New Revision: 1567031

URL: http://svn.apache.org/r1567031
Log:
OAK-1405 OR of different constraints broken

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/FilterIterators.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java
    
jackrabbit/oak/trunk/oak-core/src/test/resources/org/apache/jackrabbit/oak/query/sql2_index.txt

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/FilterIterators.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/FilterIterators.java?rev=1567031&r1=1567030&r2=1567031&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/FilterIterators.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/FilterIterators.java
 Tue Feb 11 10:23:20 2014
@@ -126,8 +126,9 @@ public class FilterIterators {
     }
     
     /**
-     * An iterator that returns entries in sorted order. The internal list of 
sorted entries can be limited to a given number of entries,
-     * and the entries are only read when needed (on demand).
+     * An iterator that returns entries in sorted order. The internal list of
+     * sorted entries can be limited to a given number of entries, and the
+     * entries are only read when needed (on demand).
      * 
      * @param <K> the entry type
      */

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java?rev=1567031&r1=1567030&r2=1567031&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java
 Tue Feb 11 10:23:20 2014
@@ -44,7 +44,7 @@ public class UnionQueryImpl implements Q
     private OrderingImpl[] orderings;
     private boolean explain;
     private boolean measure;
-    private long limit;
+    private long limit = Long.MAX_VALUE;
     private long offset;
     private long size = -1;
     
@@ -82,6 +82,8 @@ public class UnionQueryImpl implements Q
     @Override
     public void setLimit(long limit) {
         this.limit = limit;
+        left.setLimit(limit);
+        right.setLimit(limit);
     }
 
     @Override

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/resources/org/apache/jackrabbit/oak/query/sql2_index.txt
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/resources/org/apache/jackrabbit/oak/query/sql2_index.txt?rev=1567031&r1=1567030&r2=1567031&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/resources/org/apache/jackrabbit/oak/query/sql2_index.txt
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/resources/org/apache/jackrabbit/oak/query/sql2_index.txt
 Tue Feb 11 10:23:20 2014
@@ -77,6 +77,12 @@ select [jcr:path] from [nt:base] where [
 /test
 /test/a
 
+select [jcr:path] from [nt:base] where [jcr:uuid] = '123' union select 
[jcr:path] from [nt:base] where [jcr:uuid] = '312' union select [jcr:path] from 
[nt:base] where [jcr:uuid] = '231'
+/test/a
+
+select [jcr:path] from [nt:base] where [jcr:uuid] = '123' union select 
[jcr:path] from [nt:base] where [jcr:uuid] = '312'
+/test/a
+
 select [jcr:path] from [nt:base] where [jcr:uuid] = 'xyz'
 /test
 


Reply via email to