none
delete records on local/client without letting them flow to remote/server RRS feed

  • Question

  • This relates to filtered scopes ... and removing a record from a device because it is no longer in the scope/partition ... but not allowing the record to be deleted on the server.

    Several places on the web suggest:

    1) perform a sync

    2) intersept the changes dataset in ChangesSelected event and "remove" the deleted rows from the dataset;

    3) the sync continues which allows the syncknowledge/metadata to update.  The sync knowledge updates so it knows the delete has been hancled (which it didn't) so it never tries to flow again ...

    4) eventually running .PerformCleanup() removes the record from the _tracking table.

     

    Has anyone ever tried deleting the metadata record in the _tracking table at the same time the record is being deleted?  Theoretically, in this scenario ... as far as the sync knowledge is concerned the record never existed and it would not be included in any Ins/Upd/Del query results ... so it should not try to flow to the server ... and because it is no longer in the scope ... it should not try to copy back to the device.

    Thursday, December 15, 2011 10:07 PM

Answers

  • just bloated sync knowledge. if you dont have that many rows, i dont think you'll notice any performance degradation.

    i doubt the PerformCleanup will remove the knowledge entries since it doesnt know they were deleted already.

    • Marked as answer by P H T Friday, January 6, 2012 1:49 PM
    Friday, December 16, 2011 2:27 PM
    Moderator

All replies

  • you can delete the metadata rows for deleted rows in the tracking table, that wont update the sync knowledge in the scope table though. so, yes, no deletes will be detected, but your sync knowledge will have information about non-existing rows.
    Friday, December 16, 2011 1:52 AM
    Moderator
  • Can you think of any negatives for proceeding with this scenario ... i.e. any harm by having irrelevant sync knowledge in the scope table?

    And ... will the scope's meaningless sync knowledge be removed with a .PerformCleanup()?

    Friday, December 16, 2011 1:11 PM
  • just bloated sync knowledge. if you dont have that many rows, i dont think you'll notice any performance degradation.

    i doubt the PerformCleanup will remove the knowledge entries since it doesnt know they were deleted already.

    • Marked as answer by P H T Friday, January 6, 2012 1:49 PM
    Friday, December 16, 2011 2:27 PM
    Moderator