Supported Interfaces

FDO API

 
Supported Interfaces
 
 
 

In the current release of FDO, the following long transaction interfaces are supported:

  • FDOIActivateLongTransaction
  • FDOIDeactivateLongTransaction
  • FDOIRollbackLongTransaction
  • FDOICommitLongTransaction
  • FDOICreateLongTransaction
  • FDOIGetLongTransaction

These interfaces are summarized below. For more information about their usage, supported methods, associated enumerations and readers, see the FDO API Reference Help.

FDOIActivateLongTransaction

The FdoIActivateLongTransaction interface defines the ActivateLongTransaction command, which activates a long transaction where feature manipulation and locking commands operate on it. Input to the activate long transaction command is the long transaction name. The Execute operation activates the identified long transaction.

FDOIDeactivateLongTransaction

The FdoIDeactivateLongTransaction interface defines the DeactivateLongTransaction command, which deactivates the active long transaction where feature manipulation and locking commands operate on it. If the active long transaction is the root long transaction, then no long transaction will be deactivated.

FDOIRollbackLongTransaction

The FdoIRollbackLongTransaction interface defines the RollbackLongTransaction command, which allows a user to execute rollback operations on a long transaction. Two different rollback operations are available: Full and Partial.

The operation is executed on all data within a long transaction and on all its descendents. The data is removed from the database and all versions involved in the process deleted.

NoteIf the currently active long transaction is the same as the one being committed or rolled back, then, if the commit or rollback succeeds, the provider resets the current active long transaction to be the root long transaction. If it does not succeed, the active long transaction is left alone and current. If the currently active long transaction is not the same as the one being committed or rolled back, then it is not affected.

FDOICommitLongTransaction

The FdoICommitLongTransaction interface defines the CommitLongTransaction command, which allows a user to execute commit operations on a long transaction. Two different commit operations are available: Full and Partial.

The commit operation can be performed on a leaf long transaction only. A long transaction is a leaf long transaction if it does not have descendents.

FDOICreateLongTransaction

The FdoICreateLongTransaction interface defines the CreateLongTransaction command, which creates a long transaction that is based on the currently active long transaction. There is always an active long transaction. If the user has not activated a user-defined long transaction, then the root long transaction is active.

Input to the CreateLongTransaction command includes a name and description for the new long transaction. The long transaction name submitted to the command has to be unique. If it is not unique, an exception is thrown.

FDOIGetLongTransactions

The FdoIGetLongTransactions interface defines the GetLongTransactions command, which allows the user to retrieve long transaction information. If a long transaction name is submitted, the command returns the information for the named long transaction only. If no long transaction name is given, the command retrieves the names of all available long transactions.

For each returned long transaction, the user has the option to retrieve a list of descendents and/or ancestors.