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: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org