Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 10.0.1 » MobiLink - Server Administration » Synchronization Events

Synchronization Events Next Page

Overview of MobiLink events

When a synchronization request occurs and the MobiLink server decides that a new connection must be created, the begin_connection event is fired and synchronization starts.

Flowchart of the MobiLink event model, showing the begin_connection event, a pre-defined process called do synchronizations, and an end_connection event.

Following the synchronization, the connection is placed in a connection pool, and MobiLink again waits for a synchronization request. Before a connection is eventually dropped from the connection pool, the end_connection event is fired. But if another synchronization request for the same version is received, then MobiLink handles the next synchronization request on the same connection. There are a number of events that affect the current synchronization.

Within each synchronization, the following transactions may occur. Each transaction is optional.

In addition, you can have two connection transactions. A begin connection transaction occurs right after a connection is made, and an end connection transaction occurs when the connection is closed.

The primary phases of a synchronization are the upload and download transactions. The events contained in the upload and download transactions are outlined below.

The upload transaction

The upload transaction applies changes uploaded from a remote database.

The begin_upload event marks the beginning of the upload transaction. The upload transaction is a two-part process. First, inserts and updates are uploaded for all remote tables, and second, deletes are uploaded for all remote tables.

Flowchart of the MobiLink upload transaction process.

The end_upload event marks the end of the upload transaction.

See Writing scripts to upload rows.

The download transaction

The download transaction fetches rows from the consolidated database. It begins with the begin_download event.

The download transaction is a two-part process. For each table, first deletes are downloaded, and then update/insert rows (upserts) are downloaded. The end_download event ends the download transaction.

Flowchart of the MobiLink download transaction process.

See Writing scripts to download rows.

Event overview in pseudocode

The following pseudocode provides an overview of the sequence in which events, and hence the scripts of the same names, are invoked. This representation of the MobiLink event model assumes a full synchronization (not upload-only or download-only) with no errors.


There should be no implicit or explicit commit or rollback in your synchronization scripts or the procedures or triggers that are called from your synchronization scripts. COMMIT or ROLLBACK statements within scripts alter the transactional nature of the synchronization steps. If you use them, you cannot guarantee the integrity of your data in the event of a failure.

MobiLink complete event model
Events during upload
Events during download