English

Problem: Transactions are committed on the start of an edit operation

Description

When starting an edit operation, explicit user transactions are committed.

Cause

The geodatabase starts a database transaction upon the start of each edit operation on a workspace. The transaction is terminated, or committed, on the stop edit operation call or rolled back in the case of the abort edit operation call.

If the application has explicitly started a transaction with the ITransactions.StartTransaction, any pending modifications are committed.

Solution or Workaround

If the application is using the ITransactions interface, then the application is responsible for starting and stopping the transaction. The application should not attempt to start an edit session on the workspace or if currently editing a workspace, start an edit operation. The application should always terminate the active transaction by calling CommitTransaction or AbortTransaction. The ITransactions interface also provides the ability to check if there is an active transaction with the InTransaction method.

In future releases, ArcGIS will raise an error if an application attempts to start editing a workspace or start an edit operation if a user transaction is active.