Temporarily stopping the synchronization of deletes

SQL Anywhere automatically logs any changes to tables or columns that are part of a publication with a synchronization subscription. These changes are normally uploaded to the consolidated database during the next synchronization.

You may, however, want to delete rows from synchronized data and not have those changes uploaded. You can do this using STOP SYNCHRONIZATION DELETE.

When a STOP SYNCHRONIZATION DELETE statement is executed, none of the delete operations subsequently executed on that connection are synchronized. The effect continues until a START SYNCHRONIZATION DELETE statement is executed. The effects do not nest; that is, subsequent executions of STOP SYNCHRONIZATION DELETE after the first have no additional effect.

This feature can be used to make unusual corrections, but should be used with caution as it effectively disables part of the automatic synchronization functionality. This technique is a practical alternative to deleting the necessary rows using a download_delete_cursor script.

 To temporarily disable upload of deletes made through a connection
  1. Issue the following statement to stop automatic logging of deletes.

    STOP SYNCHRONIZATION DELETE
  2. Delete rows from the synchronized table(s), as required, using the DELETE statement. Commit these changes.

  3. Restart logging of deletes using the following statement.

    START SYNCHRONIZATION DELETE

The deleted rows are not sent up to the MobiLink server and are not deleted from the consolidated database.

 See also