English

Error: Cannot edit the DEFAULT version in STANDARD transaction mode

Error Message

When trying to edit the DEFAULT version of a multiversioned view, the following error message is received after setting the version and attempting to start the edit session:

Code:

SQL> exec sde.version_util.set_current_version('SDE.DEFAULT');
PL/SQL procedure successfully completed.

SQL> exec sde.version_user_ddl.edit_version('SDE.DEFAULT',1);
BEGIN sde.version_user_ddl.edit_version('SDE.DEFAULT',1); END;

*
ERROR at line 1:
ORA-20500: Cannot edit the DEFAULT version in STANDARD transaction mode.
ORA-06512: at "SDE.VERSION_USER_DDL", line 938
ORA-06512: at line 1

Cause

This is caused by a change in the behavior when directly editing the DEFAULT version with multiversioned views.

With the release of 10.0 SP2 the DEFAULT version can be edited directly via a multiversioned view without setting the version or starting an edit session. The ability to directly edit the DEFAULT version via multiversioned views was also implemented as part of 9.3.1 SP2 General Update Patch (GUP).

Additionally, if the version is set and then a SQL update, insert, or delete is attempted the following error is received:

Code:
Call SET_DEFAULT routine before attempting to edit the DEFAULT version.

EXAMPLE:
Code:
SQL> exec sde.version_util.set_current_version('SDE.DEFAULT');

PL/SQL procedure successfully completed.

SQL> update state_2_mv set pop2000=1000;
update state_2_mv set pop2000=1000
*
ERROR at line 1:
ORA-20507: Call SET_DEFAULT routine before attempting to edit the DEFAULT
version.
ORA-06512: at "SDE.V52_UPDATE", line 1
ORA-04088: error during execution of trigger 'SDE.V52_UPDATE'


Note:
If the versioned view was created prior to 10.0 SP2 it must be re-created in order to edit the DEFAULT version; older versioned views cannot be used to edit the DEFAULT version.

Solution or Workaround

To avoid the error message when trying to directly edit the DEFAULT version via a multiversioned view, simply perform edits on the versioned view via SQL without trying to set the version or start the edit session.

    Related Information