This document is archived and information here might be outdated. Recommended version. |
Checks in changes from a check-out database.
[Visual Basic .NET] Public Function CheckInFromGDB ( _ ByVal parentDB As IWorkspaceName, _ ByVal checkoutName As String, _ ByVal checkOutDB As IWorkspaceName, _ ByVal reconcileCheckout As Boolean, _ ByVal createOIDMappingTable As Boolean _ ) As Boolean
[C#] public bool CheckInFromGDB ( IWorkspaceName parentDB, string checkoutName, IWorkspaceName checkOutDB, bool reconcileCheckout, bool createOIDMappingTable );
[C++]
HRESULT CheckInFromGDB(
IWorkspaceName* parentDB,
BSTR checkoutName,
IWorkspaceName* checkOutDB,
VARIANT_BOOL reconcileCheckout,
VARIANT_BOOL createOIDMappingTable
);
[C++] Parameters parentDB [in]
parentDB is a parameter of type IWorkspaceName* checkoutName [in]
checkoutName is a parameter of type BSTR checkOutDB [in]
checkOutDB is a parameter of type IWorkspaceName* reconcileCheckout [in]
reconcileCheckout is a parameter of type bool createOIDMappingTable [in]
createOIDMappingTable is a parameter of type bool
The CheckinfromGDB method applies the changes made in the checkOutDB (check-out geodatabase) to the parentDB (master geodatabase or parent replica) workspace.
The checkoutName is needed to identify the check-out that is being checked in.
If createOIDMappingTable is True, tables are created in the parent replica geodatabase that describe the changes that are checked in. These tables are named <check-out name>_OM and <check-out name>_RC. If tables with these names already exist, they are deleted and replaced with a new pair of tables for the check in. If the check in process fails, these tables are not recovered.
The <check-out name>_OM table records the pre- and post- check-in ObjectID values for new features/rows that have been added. The <check-out name>_RC table records all the changes made to the checked out data which include inserts (0), updates (1) and deletes (2).
Conflicts
If reconcileCheckout is TRUE, the changes are applied to the check-out version and this version is reconciled with its parent version. If reconcileCheckout is FALSE, the changes are applied to the check-out version, but no reconcile is performed.
If reconcileCheckout is TRUE and there are no conflicts during reconcile, a FALSE is returned, otherwise TRUE is returned. Conflicts can occur if a feature is edited in the check-out database and in the parent version of the parent database.
You should never edit the check-out version prior to check in. During check in, any coincidental changes are over-written with changes from the check-out database without notification of a conflict.
If you set reconcileCheckout to TRUE and there are conflicts or if reconcileCheckout is set to FALSE, the check-out version is updated and remains on the parent database. This allows you to manually reconcile at a later time. If you set reconcileCheckout to TRUE and there are no conflicts, the check-out version is removed.