Hello!
There's one more minor issue: in server mode, when an Add command
results in modifying an existing item, the statistics say that the item
was added. That means that the numbers do not add up, because "items
before sync + added items != items after sync".
I'm seeing it with DB_Conflict, but I think it'll also occur with
DB_DataReplaced/Merged.
The point where the statistics are changes is in
TLocalEngineDS::engProcessRemoteItemAsServer():
// add allowed
===> fLocalItemsAdded++;
#ifdef OBJECT_FILTERING
// test if acceptable
if (!isAcceptable(aSyncItemP,aStatusCommand)) { ok=false; break; } // cannot be
accepted
// Note: making item to pass sync set filter is implemented in derived DB
implementation
// as criteria for passing might be in data that must first be read from the DB
#endif
remainsvisible=true; // should remain visible
ok=logicProcessRemoteItem(aSyncItemP,aStatusCommand,remainsvisible); // add to
local database NOW
What would be the right fix for this? Add another retval to
logicProcessRemoteItem() which tells the caller whether an add was
turned into an update? Or change the return value from bool to an enum?
--
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.