Provides access to members that return information about versions and posting of versions.
Description
The IVersionEditinterface is used to reconcile a version with a target version. Once reconciled, the object provides the ability to work with representations of the version prior to start editing, the pre-reconcile version, the reconcile version, and the common ancestor version for conflict resolution.
Members
Name | Description | |
---|---|---|
CanPost | Returns a boolean if the version can be posted to the reconcile version. | |
CommonAncestorVersion | The common ancestor of this version and the reconcile version. | |
ConflictClasses | All objects which contain conflicts between the current and reconciled versions. | |
ModifiedClasses | All objects modified by the current and reconciled versions. | |
PartialPost | Posts features from the current version to default. | |
Post | Posts the current version to the reconciled version. | |
PreReconcileVersion | The version prior to reconciliation. | |
Reconcile | Reconciles the current version with a target version. | |
Reconcile2 | Reconciles the current version with a target version. | |
Reconcile3 | Reconciles the current version with a target version. | |
Reconcile4 | Reconciles the current version with a target version. | |
ReconcilePrimeVersion | The version that the current version is reconciling against. | |
ReconcileVersion | The version that the current version is reconciling against. | |
StartEditingVersion | The version prior to any edits. | |
SupportParentPreReconcile | Enables or disables support for a Parent pre-Reconcile State to be created during Reconcile. |
IVersionEdit.CanPost Method
Returns a boolean if the version can be posted to the reconcile version.
Public Function CanPost ( _
) As Boolean
public bool CanPost (
);
Remarks
The CanPost method is only true if IVersionEdit.Reconcile has been performed and the reconcile operation has not been undone. CanPost does not check if the target version has been redefined since the reconcile operation.
The Postmethod requires that the current edit version has been reconciled with any ancestor versions prior to being called. The implicit locking during a reconcile should greatly increase the chances of the source and target versions being ready to post. There is a possibility that these two versions could be out of sync, possibly do to the target version changing after a reconcile operation, and in this case an error will be returned to the application on the post call. It is the application developer�s responsibility to check the CanPost method prior to calling post and handling the post errors mentioned above thrown during the Post operation.
Postfirst performs a save and then synchronizes the target version with the current edit version. The Postoperation cannot be undone.
IVersionEdit.CommonAncestorVersion Property
The common ancestor of this version and the reconcile version.
Public ReadOnly Property CommonAncestorVersion As IVersion
public IVersion CommonAncestorVersion {get;}
Remarks
The CommonAncestorVersionmethod returns an IVersionof the version that the current edit version is reconciling against. The common ancestor version represents the state of the database at the time the version was created from the target version (i.e. when the two versions were identical). This provides a representation of the version which can be used to compare features or rows after the reconciliation.
The IVersionreturned is not available as a workspace for editing.
This property should only be called after a Reconcile or the IVersionobject will be nothing.
IVersionEdit.ConflictClasses Property
All objects which contain conflicts between the current and reconciled versions.
Public ReadOnly Property ConflictClasses As IEnumConflictClass
public IEnumConflictClass ConflictClasses {get;}
Remarks
The read-only property ConflictClassesreturns an IEnumConflictClassthat can be used to iterate over the Classes that have conflicts between the current version and the target reconciled version.
This property should only be called after a Reconcile or the enumeration will be empty.
IVersionEdit.ModifiedClasses Property
All objects modified by the current and reconciled versions.
Public ReadOnly Property ModifiedClasses As IEnumBSTR
public IEnumBSTR ModifiedClasses {get;}
Remarks
The read-only property ModifiedClassesreturns an IEnumBSTRthat can be used to iterate over the names of the tables that have been modified by the current version being edited and the target reconciled version.
This property should only be called after a Reconcile or the enumeration will be empty.
IVersionEdit.PartialPost Method
Posts features from the current version to default.
Public Sub PartialPost ( _
ByVal selectionSetsOfFeaturesToPost As IArray _
)
public void PartialPost (
IArray selectionSetsOfFeaturesToPost
);
IVersionEdit.Post Method
Posts the current version to the reconciled version.
Public Sub Post ( _
ByVal VersionName As String _
)
public void Post (
string VersionName
);
Errors Returned
FDO_E_VERSION_RECONCILE_LOST: Post not allowed after undoing a reconcile.
FDO_E_VERSION_IS_PROTECTED: Operation not allowed because the version is protected.
FDO_E_VERSION_NOT_RECONCILED: The version hasn't been reconciled.
FDO_E_VERSION_REDEFINED: The version has been redefined to reference a new database state.
Remarks
The Postmethod requires that the current edit version has been reconciled with any ancestor versions prior to being called. The implicit locking during a reconcile should greatly increase the chances of the source and target versions being ready to post. There is a possibility that these two versions could be out of sync, possible do to the target version changing after a reconcile operation, and in this case an error will be returned to the application on the post call. It is the application developer�s responsibility to check the CanPost method prior to calling post and handling the post errors mentioned above thrown during the Post operation.
Postfirst performs a save and then synchronizes the target version with the current edit version. This results in an explicit commit of any open transactions in the database. The Postoperation can not be undone.
IVersionEdit.PreReconcileVersion Property
The version prior to reconciliation.
Public ReadOnly Property PreReconcileVersion As IVersion
public IVersion PreReconcileVersion {get;}
Remarks
The PreReconcileVersionmethod returns an IVersionof the version that the current edit version is reconciling against. The pre-reconcile version represents the state of the database prior to the reconcile operation. This provides a representation of the version which can be used to compare features or rows after the reconciliation.
The IVersionreturned is not available as a workspace for editing.
This property should only be called after a Reconcile or the IVersionobject will be nothing.
IVersionEdit.Reconcile Method
Reconciles the current version with a target version.
Public Function Reconcile ( _
ByVal VersionName As String _
) As Boolean
public bool Reconcile (
string VersionName
);
Errors Returned
FDO_E_RECONICLE_VERSION_NOT_AVAILABLE: Unable to reconcile: the target version is currently being reconciled against.
FDO_E_VERSION_BEING_EDITED: Operation not allowed while the version is being edited.
FDO_E_VERSION_NOT_FOUND: The version could not be located.
Remarks
The Reconcile function reconciles the current edit version with the specified target version. The target version must be an ancestor of the current version or an error will be returned. The target version name passed in is case-sensitive and should take the form {owner}.{version_name} for example, SDE.DEFAULT.
If the returned boolean value from Reconcile is TRUE, then conflicts were detected. Otherwise no conflicts were detected.
A reconcile can only be performed if no other users are currently editing the version. As well, the target version cannot concurrently be reconciling by a second application. See IVersion::IVersionLocks for additional information on detecting version locks.
Calling Reconcile will abort the current edit operation therefore any edits made within an open edit operation when reconcile is called will be lost. If there is an open edit operation it is good practice to call StopEditOperation prior to calling Reconcile
IVersionEdit.Reconcile2 Method
Reconciles the current version with a target version.
Public Function Reconcile2 ( _
ByVal VersionName As String, _
ByVal acquireLock As Boolean _
) As Boolean
public bool Reconcile2 (
string VersionName,
bool acquireLock
);
IVersionEdit.Reconcile3 Method
Reconciles the current version with a target version.
Public Function Reconcile3 ( _
ByVal VersionName As String, _
ByVal acquireLock As Boolean, _
ByVal abortIfConflicts As Boolean _
) As Boolean
public bool Reconcile3 (
string VersionName,
bool acquireLock,
bool abortIfConflicts
);
IVersionEdit.Reconcile4 Method
Reconciles the current version with a target version.
Public Function Reconcile4 ( _
ByVal VersionName As String, _
ByVal acquireLock As Boolean, _
ByVal abortIfConflicts As Boolean, _
ByVal ChildWins As Boolean, _
ByVal ColumnLevel As Boolean _
) As Boolean
public bool Reconcile4 (
string VersionName,
bool acquireLock,
bool abortIfConflicts,
bool ChildWins,
bool ColumnLevel
);
IVersionEdit.ReconcilePrimeVersion Property
The version that the current version is reconciling against.
Public ReadOnly Property ReconcilePrimeVersion As IVersion
public IVersion ReconcilePrimeVersion {get;}
IVersionEdit.ReconcileVersion Property
The version that the current version is reconciling against.
Public ReadOnly Property ReconcileVersion As IVersion
public IVersion ReconcileVersion {get;}
Remarks
The ReconcileVersionmethod returns an IVersionof the version that the current edit version is reconciling against. The reconcile version represents the state of the database for the target reconcile version when the reconcile operation started. This provides a representation of the target reconcile version which can be used to compare features or rows after the reconciliation.
This property should only be called after a Reconcile or the IVersionobject will be nothing.
IVersionEdit.StartEditingVersion Property
The version prior to any edits.
Public ReadOnly Property StartEditingVersion As IVersion
public IVersion StartEditingVersion {get;}
Remarks
The StartEditingVersionmethod returns an IVersionof the version that the current edit version is reconciling against. The start editing version represents the state of the database when start editing was initiated. This provides a representation of the version which can be used to compare features or rows after the reconciliation.
The IVersionreturned is not available as a workspace for editing.
This property should only be called after a Reconcile or the IVersionobject will be nothing.
IVersionEdit.SupportParentPreReconcile Method
Enables or disables support for a Parent pre-Reconcile State to be created during Reconcile.
Public Sub SupportParentPreReconcile ( _
ByVal enableReconcile As Boolean _
)
public void SupportParentPreReconcile (
bool enableReconcile
);
Classes that implement IVersionEdit
Classes | Description |
---|