Author: rdonkin
Date: Wed Nov 28 23:22:55 2007
New Revision: 599299

URL: http://svn.apache.org/viewvc?rev=599299&view=rev
Log:
Improve performance of queries.

Modified:
    
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java?rev=599299&r1=599298&r2=599299&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/om/MailboxRow.java
 Wed Nov 28 23:22:55 2007
@@ -92,14 +92,10 @@
     public int countMessages(Flags flags, boolean value)
             throws TorqueException, DataSetException {
         Criteria criteria = new Criteria();
-        criteria.addSelectColumn(" COUNT(" + MessageRowPeer.UID + ") ");
-        criteria.add(MessageRowPeer.MAILBOX_ID, getMailboxId());
-        if (flags.getSystemFlags().length > 0) {
-            criteria.add(MessageFlagsPeer.MAILBOX_ID, getMailboxId());
-            criteria.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
-            MessageFlagsPeer.addFlagsToCriteria(flags, value, criteria);
-        }
-        List result = MessageRowPeer.doSelectVillageRecords(criteria);
+        criteria.addSelectColumn(" COUNT(" + MessageFlagsPeer.UID + ") ");
+        criteria.add(MessageFlagsPeer.MAILBOX_ID, getMailboxId());
+        MessageFlagsPeer.addFlagsToCriteria(flags, value, criteria);
+        List result = MessageFlagsPeer.doSelectVillageRecords(criteria);
         Record record = (Record) result.get(0);
         int numberOfRecords = record.getValue(1).asInt();
         return numberOfRecords;
@@ -108,7 +104,8 @@
     public void resetRecent() throws TorqueException {
         String sql = "UPDATE " + MessageFlagsPeer.TABLE_NAME + " set "
         + MessageFlagsPeer.RECENT + " = 0 WHERE " + 
-            MessageFlagsPeer.MAILBOX_ID + " = " + getMailboxId();
+            MessageFlagsPeer.MAILBOX_ID + " = " + getMailboxId() + " AND " 
+               + MessageFlagsPeer.RECENT + " = 1 ";
         MessageFlagsPeer.executeStatement(sql);
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to