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