English

Bug: Performing a selection while editing non-versioned data results in the edit session being committed

Description

If a selection is performed that requires the creation of a log file in ArcSDE for Oracle while editing non-versioned data in ArcGIS or having started a transaction with ArcObjects, the active transaction is committed when the log file tables are created.

Because the data is committed, the user or application has no ability to rollback or abort the edit session and discard the changes.

Cause

When a session requests ArcSDE to generate a log file for selection sets, ArcSDE executes the CREATE TABLE statement, which automatically results in Oracle executing a COMMIT. If the ArcSDE session is currently in a transaction, any uncommitted changes are committed and cannot be rolled back.

Workaround

In order to avoid mistakenly executing a commit on any changes performed in an edit session when creating a selection set that requires an ArcSDE log file, create the log files before starting the edit session.

To ensure the ArcSDE log files are present in the schema prior to editing non-versioned data, perform a large selection in ArcMap.

The selection generates a request to ArcSDE to create an ArcSDE log file. If the ArcSDE log file is not present in the session's schema (sde_logfiles and sde_logfile_data tables), ArcSDE attempts to create the tables (as long as the session has CREATE TABLE privileges).

Once the tables are created, ArcSDE is able to create log files used for selection sets.