Use this procedure to clean up the MobiLink system tables when you have dropped remote databases.
Item |
Description |
Remarks |
---|---|---|
1 |
timestamp |
TIMESTAMP. The datetime must appear in exactly the order specified in the consolidated database. If the datetime format in the consolidated database is set to 'yyyy/mm/dd hh:mm:ss.ssss', then the timestamp must appear in the order year, month, day, hour, minute, second, fraction of second. |
This stored procedure removes rows from MobiLink system tables that pertain to remote databases that are no longer being used. In particular, it does the following:
Deletes all the rows from the ml_subscription system table that have both the last_upload_time and last_download_time earlier than the given timestamp.
Removes remote IDs from the ml_database system table if the remote IDs are no longer referenced by any rows in the ml_subscription table.
You should not use this system procedure for a time period that is so recent that it may delete rows for remote databases that have not actually been deleted. If you do, the deletion of the rows in ml_subscription and ml_database could cause problems for remote databases that are in an "unknown state" caused by an unsuccessful upload; in that unknown state, the remote relies on the MobiLink system tables to resend data.
The timestamp provided to this procedure must have a correct date-time format because the procedure will not validate the date-time format of the parameter.
The following example cleans up MobiLink system table information about remote databases that have not synchronized since January 10, 2004. It works for a SQL Anywhere consolidated database where the date-time format in the consolidated database is yyyy/mm/dd hh:mm:ss.ssss.
CALL ml_delete_sync_state_before( '2004/01/10 00:00:00' )