MobiLink Synchronization Wizard in SQL Anywhere 10 - Choosing download options
(Page 5 of 8 )
Clicking on the Next button on the above screen brings up the window shown in the next picture. Here the implementation options for timestamp-based download are chosen. If the default option is used, a new column, last-modified, will be added to each of the consolidated tables, if it did not already exist. This simplifies the download process which does not require a join with a shadow table if the other option were to be chosen. It will however modify the schema of the consolidated table due to the extra column, which could impact an existing application.

Since determining the data to download from the consolidated database cannot be determined from the transaction log, there needs to be a way to track what data has been deleted on the consolidated database in order to ensure it is also deleted on the remote database. Similar to before, the deletions can be tracked using a shadow table or by adding a column to the table which indicates whether or not the row has been deleted.

Choosing a Subset of data to download
Click on the Next button in the above window to open the next window. Since the MobiLink software works with a large number of remote databases and presumes that all of them may not need the same data (from the same table/tables) you can choose a subset of the data to be synchronized with the remote database. Synchronization scripts can be written so that different remote databases may synchronize different sets of data (partitioned data) from the source data. Here again the default is chosen as this is the first remote database.

Conflict detection options
Clicking theNext button on the previous screen takes you to the window where you make decisions as to how your upload conflicts needs to be handled. During upload, conflicts can occur between the remote database and the consolidated database if the same data was changed in both databases. There are three options for dealing with conflicts:
1) Ignore them.
2) Detect a conflict if any of the data within the same row has
been changed in both databases.
3) Detect a conflict only if the data within the same column of
the same row has been changed in both databases.
The default option, which does not check for conflicts and gives the best performance, is chosen. Click on the Next button.

Next: Specifying names for Publication and Script version >>
More Database Code Articles
More By Jayaram Krishnaswamy