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