Home    |    Concepts   |   API   |   Samples
Concepts > Versioning > Reconciling
Rules for Reconciling Versions
The general rules for reconciling versions are:
  1. When the target version has not been modified before the current edit session is reconciled, the result will be the representation of the current edit session.


     
  2. When the target version had been modified before the current edit session was reconciled, the target representation will take precedence and those features not in conflict with features in the current edit version will become the results of the reconcile.


     
  3. When both the target and current edit versions have been edited, the results of the reconcile will be a merge of both sets of edits. (Any features modified in both versions will be highlighted as conflicts. See the section on conflict detection.)

During the reconcile process, no spatial filters are applied, all the tables that have been modified are identified by querying the MVTABLES_MODIFIED table, and the version delta tables are queried to identify the differences between the states and any conflicts that may exist.

When an edit operation is started, a shared lock on the version is acquired. Once a shared lock has been assigned to the version, other users can still access the version but not make any schema changes until the shared lock is released when the edit operation has ended. When two versions are reconciled, the reconcile process promotes this shared lock to an exclusive lock. An exclusive lock prevents other users from getting a shared lock on the version and prevents the version from being edited by other users while the reconcile is taking place. It remains in effect throughout the reconcile process until the final save edits or version post operation has been completed.

A shared lock is also acquired on the target version. This prevents multiple concurrent reconcile operations from taking place. A version that is being reconciled cannot be edited by another edit session; a version that is being edited by other edit sessions cannot be reconciled.

feedback | privacy | legal