Temporarily stopping the synchronization of deletes

Ordinarily, SQL Anywhere automatically logs any changes to tables or columns that are part of a publication with a synchronization subscription. These changes are 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. 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

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.

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 data, 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 hence are not deleted from the consolidated database.

See also