Patrick,

the DeleteSyncSet is a relatively new command, as it has been introduced for the iPhone. So performance comparisons have not been made for this. The SQL implementation does not work via the plugin interface, so there are no such restrictions there.

I'm happy to hear that it isn't a performance issue. If it is the following strategy is possible: If DeleteSyncSet is called, you know that all items will be deleted, so delete them and return 20030 and keep the number of deleted items. After that, DeleteItem will be called for the number of items. Just return ok for all of them and give the engine a chance to count them.

The engine has all information about the number of deleted elements. Probably these deleted items are currently not counted in case of refresh-from-server.
I think this can be fixed.

Regards,
Beat

On Tue, 2009-07-28 at 14:26 +0100, Beat Forster wrote:
 The only difference is mainly reading the sync
 set (which must be done for all two-way-syncs
 anyway). The performance difference is huge, if
 you have just one command to delete all elements,
 which is e.g. the case for our iPhone client.
 But I'm not even sure if this command would
 return the number of deleted elements.

This is the case I was worried about: "delete all" is fast *and* can
return the number of items. I don't think that this is unrealistic.
Don't SQL databases with one row per item fall into this category?

Anyway, currently in SyncEvolution the performance difference isn't that
large, so let's focus on the other aspect: the statistics are not
incremented even if the engine does the deleting one-by-one. Is this
something that can or should be changed?

--
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.



_______________________________________________
os-libsynthesis mailing list
os-libsynthesis@synthesis.ch
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis


--
-----------------------------------------------
       Beat FORSTER
       Dipl. El. Ing. ETH
       Dipl. NDS ETHZ in Betriebswissenschaften
       Managing Partner
       beat.fors...@synthesis.ch

Synthesis AG   SyncML Server & Client Solutions
Badenerstrasse 18,  CH-8004 Zürich, Switzerland
Tel (direct):       +41 44 440 66 02
Fax:                +41 44 440 66 04
email:              i...@synthesis.ch
web:          http://www.synthesis.ch
-----------------------------------------------

_______________________________________________
os-libsynthesis mailing list
os-libsynthesis@synthesis.ch
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to