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

Reply via email to