[Tickets #12597] Re: AS: Detect deletes on a non-CONDSTORE server

noreply at bugs.horde.org noreply at bugs.horde.org
Thu Aug 22 08:58:44 UTC 2013


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/12597
------------------------------------------------------------------------------
  Ticket             | 12597
  Updated By         | Thomas Jarosch <thomas.jarosch at intra2net.com>
  Summary            | AS: Detect deletes on a non-CONDSTORE server
  Queue              | Synchronization
  Version            | Git master
  Type               | Enhancement
-State              | Resolved
+State              | Assigned
  Priority           | 1. Low
  Milestone          |
  Patch              | 1
  Owners             | Michael Rubinsky
+New Attachment     | 0001-Simplify-CONDSTORE-non-CONDSTORE-code-paths.patch
------------------------------------------------------------------------------


Thomas Jarosch <thomas.jarosch at intra2net.com> (2013-08-22 08:58) wrote:

> Committed, with a few tweaks and changes.
>
> Thanks!

ehrm, those tweaks contain little bugs :o)
-> Not all setChanges() calls were updated during "cleanup",
it will still access $status['messages'] for CONDSTORE servers.

Also we would need another if() for CONDSTORE/non-CONDSTORE
for the inital sync.

The code is more complex than it needs to be: We can specify  
Horde_Imap_Client::STATUS_HIGHESTMODSEQ
for non-CONDSTORE servers and the Imap_Client will return 0 for the  
modseq in that case.
This would get rid of the duplicated $status_flags and the  
$imap->queryCapability('CONDSTORE') call.

Also querying the amount of messages is very cheap for a CONDSTORE server,
no need to over-optimize this and create more complex code paths.
-> Let's store the number of messages for all cases.

For the ping() code, I moved the modseq code path first
so it will be the default for modern IMAP servers.
Though I doubt this makes any noticeable performance difference ;)

Please consider the attached patch. Works fine on a non-CONDSTORE server.




Thomas Jarosch <thomas.jarosch at intra2net.com> (2013-08-22 08:58)  
uploaded: 0001-Simplify-CONDSTORE-non-CONDSTORE-code-paths.patch

http://bugs.horde.org/h/services/download/?app=whups&actionID=download_file&file=0001-Simplify-CONDSTORE-non-CONDSTORE-code-paths.patch&ticket=12597&fn=%2F0001-Simplify-CONDSTORE-non-CONDSTORE-code-paths.patch





More information about the bugs mailing list