English

Bug: Edits are committed in an edit session with non-versioned classes and Oracle

Description

Using ArcSDE with Oracle and ArcSDE's stand-alone or pooled log files while editing non-versioned classes with ArcMap, can encounter unwanted commits in the edit session, preventing the ability to stop editing without saving changes.

While editing non-versioned classes in ArcMap, if a log file is required for performing a selection, there is potential the current transaction will be committed.

When the user stops editing and is prompted to save the edits, the edits cannot be aborted or discarded because the transaction has already been committed in the database.

Cause

The cause of the problem is in how ArcSDE maintains a session or pooled log file table. When the selection is performed in ArcGIS and the session's log file table does not exist, the log file table is created (using CREATE TABLE) which is a DDL operation in Oracle and results in an automatic commit.

If the session's log file table is already present when the selection is performed in ArcGIS, the selection set's object row identifiers are inserted into the log file table and committed.

Workaround

To avoid unwanted commits while editing non-versioned classes in ArcMap, set ArcSDE's log file parameters to use the default values.

ALLOWSESSIONLOGFILE = FALSE
LOGFILEPOOLSIZE = 0

The parameters can be managed by using the sdeconfig administration command.

For additional information on ArcSDE log file management see the help topic Log file configuration options.