Contents Index A primary key pool example How conflicts are detected

MobiLink Synchronization User's Guide
  Synchronization Techniques

Handling conflicts


Conflicts arise during the upload of rows to the consolidated database. If two users modify the same row, a conflict is detected when the second of the rows arrives at the MobiLink synchronization server. When conflicts can occur, you should define a process to compute the correct values, or at least to log the conflict.

Conflicts are detected only during updates of a row. If an attempt to insert a row finds that the row has already been inserted, an error is generated. If an attempt to delete a row finds that the row has already been deleted, the attempt to delete is ignored. An attempt to update a row that has been deleted is a conflict.

No conflicts arise in the remote database as a result of synchronization. If a downloaded row contains a new primary key, the values are inserted into a new row. If the primary key matches that of a pre-existing row, the other values in the row are updated.

Conflicts are not the same as errors. Conflict handling can be an integral part of a well-designed application, allowing concurrency, even in the absence of locking.

Caution    Don't update primary keys in a MobiLink environment.


How conflicts are detected
Forced conflict resolution
Storing the user name

Contents Index A primary key pool example How conflicts are detected