Author: norman
Date: Sun Apr 10 17:33:39 2011
New Revision: 1090844
URL: http://svn.apache.org/viewvc?rev=1090844&view=rev
Log:
Use OR checks for IdRanges. See MAILBOX-49
Modified:
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
Modified:
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java?rev=1090844&r1=1090843&r2=1090844&view=diff
==============================================================================
---
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
(original)
+++
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
Sun Apr 10 17:33:39 2011
@@ -627,7 +627,8 @@ public class JCRMessageMapper extends Ab
final long low = ranges[i].getLowValue();
final long high = ranges[i].getHighValue();
if (i > 0) {
- queryBuilder.append(" and ");
+ // We need to use an OR here. See MAILBOX-49
+ queryBuilder.append(" or ");
} else {
queryBuilder.append("[");
}
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java?rev=1090844&r1=1090843&r2=1090844&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
Sun Apr 10 17:33:39 2011
@@ -236,15 +236,20 @@ public class JPAMessageMapper extends JP
for (int i = 0; i < ranges.length; i++) {
final long low = ranges[i].getLowValue();
final long high = ranges[i].getHighValue();
-
+ if (i == 0) {
+ queryBuilder.append(" AND ");
+ } else {
+ // We need to use an OR here. See MAILBOX-49
+ queryBuilder.append(" OR ");
+ }
if (low == Long.MAX_VALUE) {
- queryBuilder.append(" AND
membership.uid<=").append(high);
+
queryBuilder.append("membership.uid<=").append(high);
range = true;
} else if (low == high) {
- queryBuilder.append(" AND
membership.uid=").append(low);
+ queryBuilder.append("membership.uid=").append(low);
range = false;
} else {
- queryBuilder.append(" AND membership.uid BETWEEN
").append(low).append(" AND ").append(high);
+ queryBuilder.append("membership.uid BETWEEN
").append(low).append(" AND ").append(high);
range = true;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]