Hi,
I created the following object types:
shared_parent (supertype: dm_sysobject, isShareable = true)
lightweight _obj (shared parent: shared_parent, materialization: disallow)
I created a new object with type shared_parent.
I created a new lighweight object (on partition 11) with shared parent shared_parent.
Code is:
sysObj = (IDfSysObject) session.newLightObject("lightweight _obj", obj.getObjectId());
sysObj.setFile("c://xxxxx.tif");
sysObj.setString("object_name", "obj" + i);
sysObj.setPartition(11);
sysObj.save();
On changing partition for the lighweight objects (both with dql and by code) i receive the following error:
[DM_OBJ_MGR_E_SAVE_FAIL]error: "save failed for object with handle 0821554880000d52 of type is_gdf_pagina: table on which save failed was IS_GDF_PAGINA_S; error from database system was ORA-00957: duplicate column name
"; ERRORCODE: 100; NEXT: null
at com.documentum.fc.client.impl.docbase.DocbaseExceptionMapper.newException(DocbaseExceptionMapper.java:57)
at com.documentum.fc.client.impl.connection.docbase.MessageEntry.getException(MessageEntry.java:39)
at com.documentum.fc.client.impl.connection.docbase.DocbaseMessageManager.getException(DocbaseMessageManager.java:137)
at com.documentum.fc.client.impl.connection.docbase.netwise.NetwiseDocbaseRpcClient.checkForMessages(NetwiseDocbaseRpcClient.java:305)
at com.documentum.fc.client.impl.connection.docbase.netwise.NetwiseDocbaseRpcClient.applyForInt(NetwiseDocbaseRpcClient.java:576)
at com.documentum.fc.client.impl.connection.docbase.DocbaseConnection$6.evaluate(DocbaseConnection.java:1207)
at com.documentum.fc.client.impl.connection.docbase.DocbaseConnection.evaluateRpc(DocbaseConnection.java:1014)
at com.documentum.fc.client.impl.connection.docbase.DocbaseConnection.applyForInt(DocbaseConnection.java:1200)
at com.documentum.fc.client.impl.docbase.DocbaseApi.parameterizedSave(DocbaseApi.java:766)
at com.documentum.fc.client.DfSysObject$1.evaluate(DfSysObject.java:365)
at com.documentum.fc.client.impl.util.TransactionalFunctorWithRetry.evaluateUnderTransactionWithDeadlockRetry(TransactionalFunctorWithRetry.java:38)
at com.documentum.fc.client.impl.util.TransactionalFunctorWithRetry.evaluate(TransactionalFunctorWithRetry.java:25)
at com.documentum.fc.client.DfSysObject.evaluateUnderTransactionWithDeadlockRetry(DfSysObject.java:920)
at com.documentum.fc.client.DfSysObject.doSaveImpl(DfSysObject.java:393)
at com.documentum.fc.client.DfSysObject.doSave(DfSysObject.java:197)
at com.documentum.fc.client.impl.bof.compoundclass.lightobject.LightObject.doSave(LightObject.java:86)
at com.documentum.fc.client.DfPersistentObject.saveEx(DfPersistentObject.java:899)
at com.documentum.fc.client.DfPersistentObject.save(DfPersistentObject.java:894)
at com.documentum.fc.client.impl.bof.compoundclass.lightobject.LightObject___PROXY.save(LightObject___PROXY.java)
at StdBatchingExample.begin(StdBatchingExample.java:43)
at StdBatchingExample.main(StdBatchingExample.java:87)
Query is:
update is_gdf_shared_parent object set i_partition=1 where object_name='is_gdf_shared_parent_instance'
Code is:
IDfSysObject obj = (IDfSysObject)session.getObject(new DfId("0821554880000d52"));
obj.setPartition(1);
obj.save();
I tried to search the oracle query used:
UPDATE gdfa2.lightweight _obj_s dm_dbalias_b
SET i_partition = 1,
i_partition = 1,
i_vstamp = 2
WHERE ( dm_dbalias_b.r_object_id = '0821554880000924'
AND dm_dbalias_b.i_vstamp = 1
);
The error seems to be i_partition = 1 that occurs two times in the query.