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.



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

Reply via email to