User's Manual
Implementing conflict resolution
This section describes what you need to do to implement custom conflict
resolution in SQL Remote for Adaptive Server Anywhere. The concepts are
the same in SQL Remote for Adaptive Server Enterprise, but the
implementation is different.
SQL Remote allows you to define conflict resolution triggers to handle
UPDATE conflicts. Conflict resolution triggers are fired only at a
consolidated database, when messages are applied by a remote user. When
an UPDATE conflict is detected at a consolidated database, the following
sequence of events takes place.
1. Any conflict resolution triggers defined for the operation are fired.
2. The UPDATE takes place.
3. Any actions of the trigger, as well as the UPDATE, are replicated to all
remote databases, including the sender of the message that triggered the
conflict.
In general, SQL Remote for Adaptive Server Anywhere does not replicate
the actions of triggers: the trigger is assumed to be present at the remote
database. Conflict resolution triggers are fired only at consolidated
databases, and so their actions are replicated to remote databases.
4. At remote databases, no RESOLVE UPDATE triggers are fired when a
message from a consolidated database contains an UPDATE conflict.
5. The UPDATE is carried out at the remote databases.
At the end of the process, the data is consistent throughout the setup.
UPDATE conflicts cannot happen where data is shared for reading, but each
row (as identified by its primary key) is updated at only one site. They only
occur when data is being updated at more than one site.
Using conflict resolution triggers
This section describes how to use RESOLVE UPDATE, or conflict
resolution triggers.
UPDATE statements with
a VERIFY clause
Conflict resolution triggers are fired by the failure of values in the VERIFY
clause of an UPDATE statement to match the values in the database before
the update. An UPDATE statement with a VERIFY clause takes the
following form:
122