IArchivableObject Interface

Description

The IArchivableObjectinterface is supported by a versioned object and provides methods to enable and disable archiving for that particular versioned object.

Members

Name Description
Method DisableArchiving Disable historical archiving for this object.
Method EnableArchiving Enable historical archiving for this object.
Read-only property IsArchiving True if this object has historical archiving enabled.

IArchivableObject.DisableArchiving Method

Disable historical archiving for this object.

Public Sub DisableArchiving ( _
    ByVal deleteArchive As Boolean, _
    ByVal traverseRelationships As Boolean _
)
public void DisableArchiving (
    bool deleteArchive,
    bool traverseRelationships
);

Errors Returned

FDO_E_SCHEMA_LOCK_CONFLICT: Lock request conflicts with an established lock.

Remarks

The deleteArchive_is a boolean argument that should be used to specify if the archive tables will be deleted when archiving is disabled on the class. If the _traverseRelationships argument is set to true the disable archiving call will traverse any relationships the object participates in, disabling archiving on other associated objects. Set this argument to false when it is desired for only this IArchivableObject to be disabled.

It is necessary to disable archiving on a class before that class can be unregistered as versioned.

IArchivableObject.EnableArchiving Method

Enable historical archiving for this object.

Public Sub EnableArchiving ( _
    ByVal archiveRegistrationInfos As ISet, _
    ByVal SeedTimeStamp As Object, _
    ByVal traverseRelationships As Boolean _
)
public void EnableArchiving (
    ISet archiveRegistrationInfos,
    object SeedTimeStamp,
    bool traverseRelationships
);

Errors Returned

FDO_E_SCHEMA_LOCK_CONFLICT: Lock request conflicts with an established lock.

Remarks

This method can be used to enable archiving on a versioned object.__To enable archiving on a object it has to be registered as versioned and not moving edits to the base table enabled.

If the moveEditsToBase property is enabled on the object class call IVersionedObject3::UnRegisterAsVersioned3(False) to unregister the class as versioned, disabling the moving of edits to the base table, and then call IVersionedObject3::RegisterAsVersioned3(False) to register the object as versioned with the moveEditsToBase property disabled.

When archiving is enabled on a feature dataset the same initial fromdate will be used when creating each historical archive class. For instance, all initial dates in the GDB_FROM_DATE attribute will posses the same attribute time at the point of enabling archiving. The _seedTimeStamp_property can be used to specify a specific timestamp to use when creating a historical archive class. The seedTimeStamp value must be less than the current date and time of the database. If nothing is passed in as an argument the current database moment (timestamp) will be used. If the _traverseRelationships argument is set to true the enable archiving call will traverse any relationships the object participates in, enabling archiving on other associated objects. Set this argument to false when it is desired for only this IArchivableObject to be archive enabled.

When creating the archive table, ArcSDE will use the origin table's configuration <keyword>_ARCHIVE as the input keyword for the object's creation. If the <keyword>_ARCHIVE keyword is not present in the DBTUNE, then ArcSDE will default back to the origin table's <keyword>. For additional information on creating and maintaining ArcSDE DBTUNE keywords see the ArcSDE Administrators documentation.

IArchivableObject.IsArchiving Property

True if this object has historical archiving enabled.

Public ReadOnly Property IsArchiving As Boolean
public bool IsArchiving {get;}

Remarks

This property returns a boolean that corresponds to whether archiving is enabled for the versioned object.

Classes that implement IArchivableObject

Classes Description

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.