When using the default log file configuration the session's transaction needs to be checked prior to creating log file tables.
Last Published: August 25, 2014No Product Found
Bug ID Number
NIM013843
Submitted
December 18, 2007
Last Modified
June 5, 2024
Applies to
No Product Found
Version found
9.3
Version Fixed
9.3
Status
Fixed
The bug has been fixed. See the Version Fixed and Additional Information, if applicable, for more information.
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.